home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / komunikace / k-ninja / setup-kninja_v2.exe / {app} / defaults / profile / macros.cfg < prev    next >
Text File  |  2006-07-07  |  72KB  |  2,189 lines

  1. # MACROS DEFINITION FILE (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage)
  2.  
  3. $macroPrefBranch="kmeleon.plugins.macros.";
  4. $macroResLoc="file:///".gsub("\\","/",getpref(STRING,"kmeleon.general.profileDir"))."chrome/";
  5.  
  6. # ----EVENT MACROS w/LAST SESSION & STARTUP GROUP SUPPORT----
  7. OnStartup{
  8. &SetLast;
  9. $layer=="true"? &SetNext:setpref(STRING,$og,$ln);
  10. getpref(INT,$sg)<2 ? "":$loaded="GroupStart"; &Sync;
  11. # for kmPrefs:
  12. getpref(BOOL,"kmeleon.plugins.favorites.load")==true?&getFavorites:"";
  13. }
  14.  
  15. OnLoad{
  16. $loaded==""?"":macros($loaded); &GetSetTemp; &Sync;
  17. }
  18.  
  19. OnCloseGroup{
  20. &GetSetTemp;
  21. }
  22.  
  23. OnActivateWindow{
  24. &EncodingSync;
  25. }
  26.  
  27. OnWMAppExit{
  28. &GetSetTemp;
  29. }
  30.  
  31. OnQuit{
  32. &SetLast; getpref(BOOL,$uar)!=true? delpref($ua):"";
  33. }
  34.  
  35. # ----BUTTON & MENU SYNC----
  36.  
  37. Sync{
  38. &EngineSync;
  39. &KeywordSync;
  40. &TAFSync;
  41. &GroupsSync;
  42. &ZoomSync;
  43. &UASync;
  44. &EncodingSync;
  45. &PrivacySync;
  46. &ProxySync;
  47. &BookSync;
  48. &LayerSync;
  49. &MGSync;
  50. &LayersSync;
  51.  
  52.  
  53. setcheck("macros(FrmToggle)",getpref(BOOL,$frames)? false:true);
  54. }
  55.  
  56.  
  57. # ---- Encoding ----
  58.  
  59. $Pref_charsetdet = "intl.charset.detector";
  60. $charset_current = "iso-8859-1";
  61.  
  62. EncodingSync{
  63. $detector=getpref(STRING,$Pref_charsetdet);
  64. setcheck("macros(AutoDetect())",$detector==""? true:false);
  65. setcheck("macros(AutoDetect(universal_charset_detector))",$detector=="universal_charset_detector"? true:false);
  66. setcheck("macros(AutoDetect(zh_parallel_state_machine))",$detector=="zh_parallel_state_machine"? true:false);
  67. setcheck("macros(AutoDetect(ja_parallel_state_machine))",$detector=="ja_parallel_state_machine"? true:false);
  68. setcheck("macros(AutoDetect(ko_parallel_state_machine))",$detector=="ko_parallel_state_machine"? true:false);
  69. setcheck("macros(AutoDetect(cjk_parallel_state_machine))",$detector=="cjk_parallel_state_machine"? true:false);
  70. setcheck("macros(AutoDetect(ruprob))",$detector=="ruprob"? true:false);
  71. setcheck("macros(AutoDetect(ukprob))",$detector=="ukprob"? true:false);
  72.  
  73. # getcharset and global vars are dependent of the current active window,
  74. # not on the window which triggered the onload macro. Thank to this bug
  75. # the following work.
  76. $__temp = "macros(ForceCharset(" . $charset_current . "))";
  77. setcheck($__temp, false);
  78. $charset_current = $CHARSET;
  79. $__temp = "macros(ForceCharset(" . $charset_current . "))";
  80. setcheck($__temp, true);
  81. }
  82.  
  83. AutoDetect {
  84. setpref(STRING,"intl.charset.detector",$ARG); forcecharset();
  85. }
  86.  
  87. ForceCharset {
  88. forcecharset($ARG);
  89. }
  90.  
  91. # ----ENGINES---- 
  92.  
  93. Dogpile{
  94. &OldSearch; $search = "Dogpile";
  95. $eng = "http://www.dogpile.com/info.dogpl/search/web/"; 
  96. &SetSearch;
  97. }
  98.  
  99. Google{
  100. &OldSearch; $search = "Google";
  101. $eng = "http://www.google.com/search?q="; 
  102. &SetSearch;
  103. }
  104.  
  105. Hakia{
  106. &OldSearch; $search = "Hakia";
  107. $eng = "http://www.hakia.com/search.aspx?q=";
  108. &SetSearch;
  109. }
  110.  
  111. Yahoo{
  112. &OldSearch; $search = "Yahoo";
  113. $eng = "http://search.yahoo.com/bin/search?p=";
  114. &SetSearch;
  115. }
  116.  
  117. Dictionaries{
  118. &OldSearch; $search = "Dictionaries (One Look)";
  119. $eng = "http://www.onelook.com/?w=";
  120. &SetSearch;
  121. }
  122.  
  123. Wikipedia{
  124. &OldSearch; $search = "Wikipedia"; 
  125. $eng = "http://en.wikipedia.org/wiki/";
  126. &SetSearch;
  127. }
  128.  
  129. KM{
  130. &OldSearch; $search = "K-Meleon Forums"; 
  131. $eng = "http://kmeleon.sourceforge.net/forum/search.php?f=3&globalsearch=1&match=1&date=0&fldsubject=1&fldbody=1&search="; 
  132. &SetSearch;
  133. }
  134.  
  135. URL{
  136. &OldSearch; $search = "URL"; $eng = ""; &Locked;
  137. }
  138.  
  139. EngineSync{
  140. setcheck("macros(Dogpile)", getpref(STRING, $sen) == "Dogpile" ? true:false);
  141. setcheck("macros(Google)", getpref(STRING, $sen) == "Google" ? true:false);
  142. setcheck("macros(Hakia)", getpref(STRING, $sen) == "Hakia" ? true:false);
  143. setcheck("macros(Yahoo)", getpref(STRING, $sen) == "Yahoo" ? true:false);
  144. setcheck("macros(Dictionaries)", getpref(STRING, $sen) == "Dictionaries (One Look)" ? true:false);
  145. setcheck("macros(Wikipedia)", getpref(STRING, $sen) == "Wikipedia" ? true:false);
  146.  
  147. setcheck("macros(SN0)",getpref(INT,$so)==0? true:false);
  148. setcheck("macros(SN1)",getpref(INT,$so)==1? true:false);
  149. setcheck("macros(SN2)",getpref(INT,$so)==2? true:false);
  150. setcheck("macros(SearchLock)",getpref(BOOL,$sl));
  151. }
  152.  
  153.  
  154.  
  155. # ----SEARCH MACROS----
  156.  
  157. $se="kmeleon.general.searchEngine";
  158. $sl=$macroPrefBranch."search.locked";
  159. $sen=$macroPrefBranch."search.engineName";
  160. $so=$macroPrefBranch."search.open";
  161. $eng=getpref(STRING, $se) ;
  162. $search=getpref(STRING, $sen);
  163. $layers="kmeleon.plugins.layers.load";
  164. $layer=getpref(BOOL, $layers);
  165.  
  166.  
  167. OldSearch{
  168. $oldeng=$eng; $oldsearch=$search;
  169. }
  170.  
  171. SetSearch{
  172. getpref(BOOL,$sl)==false ? &Unlocked:&Locked; &EngineSync;
  173. }
  174. Unlocked{
  175. setpref(STRING,$sen,$search); setpref(STRING,$se,$eng); &Search;
  176. }
  177. Locked{
  178. &Search; $search=$oldsearch; $eng=$oldeng;
  179. }
  180. Search{
  181. $word=$SelectedText;
  182. $word=="" ? &URLBarSearch:$word==$URL ? &PromptSearch:&OpenSearch; 
  183. }
  184. URLBarSearch{
  185. $word=$URLBAR
  186. $word=="" ? $word=$URL:""; $word==$URL ? &PromptSearch:&OpenSearch;
  187. }
  188. PromptSearch{
  189. $search=="" ? $search="Google":0;
  190. $search=="URL" ? $tip="Enter URL:":$tip=sub("%s", $search, _("Search %s for:"));
  191. $word=prompt($tip,$search); $word==""?"": &OpenSearch;
  192. }
  193. OpenSearch{
  194. $how=getpref(INT, $so); $search!="Google"?"": $word=urlencode($word);
  195. $how==0 ? open($eng.$word):$how==1 ? &SearchNew:$how==2 ? &SearchBack:0;
  196. }
  197. Umlauts{
  198. $word=gsub("Σ","%C3%A4",$word); $word=gsub("÷","%C3%B6",$word); $word=gsub("ⁿ","%C3%BC",$word); $word=gsub("▀","%C3%9F",$word); $word=gsub("─","%C3%84",$word); $word=gsub("╓","%C3%96",$word); $word=gsub("▄","%C3%9C",$word);
  199.  
  200. $word=gsub("└","%C3%80",$word); $word=gsub("┬","%C3%82",$word);
  201. $word=gsub("α","%C3%A0",$word); $word=gsub("Γ","%C3%A2",$word);
  202. $word=gsub("τ","%C3%A7",$word); $word=gsub("Φ","%C3%A8",$word);
  203. $word=gsub("╦","%C3%8B",$word); $word=gsub("Ω","%C3%AA",$word);
  204. $word=gsub("Θ","%C3%A9",$word); $word=gsub("δ","%C3%AB",$word);
  205. $word=gsub("╔","%C3%89",$word); $word=gsub("╚","%C3%88",$word);
  206. $word=gsub("╧","%C3%8F",$word); $word=gsub("∩","%C3%AF",$word);
  207. $word=gsub("ε","%C3%AE",$word); $word=gsub("±","%C3%B1",$word);
  208. $word=gsub("⌠","%C3%B4",$word); $word=gsub("√","%C3%BB",$word);
  209. $word=gsub("∙","%C3%B9",$word); $word=gsub("┘","%C3%99",$word);
  210. }
  211. SearchNew{
  212. &ResetURL; $layer==true ? pluginmsg(layers,"OpenURL",$eng.$word):opennew($eng.$word);
  213. }
  214. ResetURL{
  215. $URLBAR = $URL;
  216. }
  217. SearchBack{
  218. &ResetURL; $layer==true ? pluginmsg(layers,"OpenURLBg",$eng.$word):OpenBg($eng.$word);
  219. }
  220.  
  221. PasteSearch{
  222. $URLBAR=getclipboard(); &Search;
  223. }
  224.  
  225. SN0{
  226. setpref(INT,$so,0); &EngineSync;
  227. }
  228. SN1{
  229. setpref(INT,$so,1); &EngineSync;
  230. }
  231. SN2{
  232. setpref(INT,$so,2); &EngineSync;
  233. }
  234.  
  235. SearchLock{
  236. $search==""? $search="Google":0; togglepref(BOOL,$sl);
  237. #getpref(BOOL,$sl)==true ? $how="LOCKED on: ".$search:$how="UNLOCKED";
  238. #alert("The default Search Engine is now ".$how."\n\n\nTo set default engine\(for Metasearch not possible):\n\n1. Unlock\n2. Click desired engine from menu\n3. Lock",_("Search Button"),INFO);
  239. &EngineSync;
  240. }
  241.  
  242. AddEng{
  243. $theurl="http://kmeleon.sourceforge.net/wiki/index.php?id=Search+Engines";
  244. $layer=="true"? pluginmsg(layers,"OpenURL",$theurl):opennew($theurl);
  245. $loaded="MacMen";
  246. }
  247. MacMen{
  248. &Macros; &Menus; $loaded="";
  249. }
  250.  
  251. Highlight{
  252. InjectJS("(function(){var count=0, text, dv;text=prompt(\"Find and Highlight the following:\", \"\");if(text==null || text.length==0)return;dv=document.defaultView;function searchWithinNode(node, te, len){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement(\"SPAN\");spannode.style.backgroundColor=\"yellow\";middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1&& node.childNodes&& dv.getComputedStyle(node, null).getPropertyValue(\"display\")!=\"none\"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], te, len);}}return skip;}window.status=\"Searching for '\"+text+\"'...\";searchWithinNode(document.body, text.toUpperCase(), text.length);window.status=\"Found \"+count+\" occurrence\"+(count==1?\"\":\"s\")+\" of '\"+text+\"'.\";})();");
  253. }
  254.  
  255. # ----- KEYWORD -----
  256.  
  257. KeywordSync{
  258. setcheck("macros(Keyword)",getpref(BOOL,"keyword.enabled"));
  259. setcheck("macros(KeyEngBBN)",getpref(STRING,"keyword.eng")=="BBN"? true:false);
  260. setcheck("macros(KeyEngIFL)",getpref(STRING,"keyword.eng")=="IFL"? true:false);
  261. setcheck("macros(KeyEngGoog)",getpref(STRING,"keyword.eng")=="GOOG"? true:false);
  262. setcheck("macros(KeyConfig)",getpref(STRING,"keyword.eng")==""? true:false);
  263. }
  264.  
  265. Keyword{
  266. togglepref(BOOL,"keyword.enabled"); &KeywordSync;
  267. }
  268.  
  269. CheckKey{
  270. $eng=getpref(STRING,"keyword.URL");
  271. }
  272. KeyEngBBN{
  273. $eng=_("http://www.google.com/search?gfns=1&q=");
  274. $string="BBN"; &KeyEng;
  275. }
  276. KeyEngIFL{
  277. $eng=_("http://www.google.com/search?btnI=1&q=");
  278. $string="IFL"; &KeyEng;
  279. }
  280. KeyEngGoog{
  281. $eng=_("http://www.google.com/search?q=");
  282. $string="GOOG"; &KeyEng;
  283. }
  284. KeyConfig{
  285. &CheckKey; $eng=prompt( _("Enter Keyword Autosearch Engine:"), _("Keyword Autosearch"), $eng)
  286. $eng==""?"":$string=""; $eng==""?"": &KeyEng;
  287. }
  288. KeyEng{
  289. setpref(STRING,_("keyword.URL"),$eng); setpref(STRING,"keyword.eng",$string); &Sync;
  290. alert( sub("%s", $eng, _("Keyword Autosearch Engine =  '%s'")), _("Keyword Autosearch Engine"),INFO);
  291. }
  292.  
  293.  
  294. # ----- TYPEAHEAD ----
  295.  
  296. $taf="accessibility.typeaheadfind";
  297.  
  298.  
  299. TAFSync{
  300. setcheck("macros(TAF)",getpref(BOOL,$taf));
  301. setcheck("macros(TAFAuto)",getpref(BOOL,$taf.".autostart"));
  302. setcheck("macros(TAFLinks)", getpref(BOOL,$taf.".linksonly"));
  303. }
  304.  
  305. TAF{
  306. togglepref(BOOL,$taf); &TAFSync;
  307. }
  308. TAFAuto{
  309. togglepref(BOOL,$taf.".autostart");
  310. $var=getpref(BOOL,$taf.".autostart")==true ? $tip=_("Find As You Type Auto Start") . " - "._("ENABLED") : $tip=_("Find As You Type Auto Start") . " - "._("DISABLED") : 
  311. $tip="Find As You Type Auto Start"; 
  312. &Sync;statusbar($tip);
  313. }
  314.  
  315. TAFLinks{
  316. togglepref(BOOL,$taf.".linksonly");
  317. #$var=getpref(BOOL,$taf.".linksonly")==true ? $bool=_(" - ENABLED. Only links will be searched for as you start typing. You can override this by pressing  /  for all text, or  '  for links only."):$bool=_(" - DISABLED ");
  318. $var=getpref(BOOL,$taf.".autostart")==true ? $tip=_("Find As You Type Links Only") . " - "._("ENABLED") : $tip=_("Find As You Type Links Only") . " - "._("DISABLED") : 
  319. $tip=_("Find As You Type Links Only");
  320. &Sync;statusbar($tip);
  321. }
  322. AlertTAF{
  323. alert($tip.$bool,$tip,INFO);
  324. }
  325.  
  326. # ----- JavaScript -----
  327.  
  328. JSEnable {
  329. getpref(BOOL,$jscript)==false ? &JS:macros($macro);
  330. }
  331. JS{
  332. &JSToggle; macros($macro); &JSToggle;
  333. }
  334.  
  335.  
  336. # ----- JavaScript Document Handling
  337.  
  338. $JSdoit="";
  339. $JSfunc="";
  340. $JSlast="";
  341.  
  342. hndlDoc{
  343. InjectJS($JSfunc."with(document){".$JSdoit."}".$JSlast,"frame");
  344. $JSdoit="";
  345. $JSfunc="";
  346. $JSlast="";
  347. }
  348.  
  349. hndlDocs{
  350. # $JSfunc is the right place for functions and global variables (e.g. when you want to count something over all frames)
  351. # $JSlast is the right place for finishing actions (e.g. when you want to alert what you have counted over all frames)
  352. InjectJS($JSfunc."function hndlFrm(w){try{with(w.document){".$JSdoit."}}catch(e){}for(var j=0,f=w.frames;j<f.length;j++)hndlFrm(f[j])}hndlFrm(window);".$JSlast);
  353. $JSdoit="";
  354. $JSfunc="";
  355. $JSlast="";
  356. }
  357.  
  358. # ----- Scroll macros
  359.  
  360. scrollToTop{
  361. $JSdoit="scroll(0,0x00000)"; &hndlDoc;
  362. }
  363. scrollToBottom{
  364. $JSdoit="scroll(0,0x10000)"; &hndlDoc;
  365. }
  366. scrollToLeftEnd{
  367. $JSdoit="scrollBy(-0x10000,0)"; &hndlDoc;
  368. }
  369. scrollToRightEnd{
  370. $JSdoit="scrollBy( 0x10000,0)"; &hndlDoc;
  371. }
  372.  
  373. # ----IMAGE & ZOOM MACROS----
  374.  
  375. ViewImages{
  376. $JSfunc="with(document)var ext=new Array('bmp','gif','giff','jpg','jpeg','png','ico'),imgWin=open('','kmIMG'+Math.floor(Math.random()*1000),''),nlf='<p>"._("No linked images found.")."</p>',tit='"._("Linked Images:")." '+((title)?title:unescape(URL)),txt='';";
  377. $JSdoit="if(getElementsByTagName('body')[0]){txt+='<fieldset><legend>'+((title)?title:unescape(URL)).link(URL)+'</legend><ol>';if(links.length){var l=0;for(var j=0;j<links.length;j++)for(var k=0,x=(''+links[j]).split('.');k<ext.length;k++)if(x[x.length-1].toLowerCase()==ext[k]){txt+='<li><img src=\"'+links[j]+'\"></li>';l++}if(!l)txt+=nlf}else txt+=nlf;txt+='</ol></fieldset>'}";
  378. $JSlast="with(imgWin.document){write('<head><title>'+tit+'</title><link rel=\"stylesheet\" type=\"text/css\" href=\"'+encodeURI('".$macroResLoc."')+'macros.css\"></head><body class=\"kmLinkedImages\">');write(txt+'</body>');close()}";
  379. &hndlDocs;
  380. }
  381.  
  382. LinkedImages{
  383. $macro="ViewImages";&PBDisable;
  384. }
  385.  
  386. hndlImg{
  387. $JSdoit="var b=getElementsByTagName('body')[0];if(b){var bz=(b.getAttribute('zoom')==null)?1:(b.getAttribute('zoom')/10);for(var j=0,i=images;j<i.length;j++)with(i[j])if(encodeURIComponent(src).replace(/%25([A-F0-9]{2})/g,'%$1')=='".urlencode($ImageURL)."'){".$JSdoitImg."}}"; &hndlDoc;
  388. }
  389. hndlImgs{
  390. $JSdoit="var b=getElementsByTagName('body')[0];if(b){if(b.getAttribute('zoom')==null)b.setAttribute('zoom',10);var bz=".$zoomBy.",o=parseFloat(b.getAttribute('zoom'));if(Math.round(bz+o)){b.setAttribute('zoom',Math.round(bz+o));bz=b.getAttribute('zoom')/10;for(var j=0,i=images;j<i.length;j++)with(i[j]){".$JSdoitImg."}}}"; $JSfunc=""; &hndlDocs;
  391. }
  392. zoomImg{
  393. $JSdoitImg="if(getAttribute('zoom')==null){setAttribute('initW',width);setAttribute('initH',height);setAttribute('zoom',1)}var iz=".$zoomBy.";setAttribute('zoom',getAttribute('zoom')*iz);iz=getAttribute('zoom');width=bz*iz*getAttribute('initW');height=bz*iz*getAttribute('initH')"; &hndlImg;
  394. }
  395.  
  396. zoomTxt{
  397. $JSdoit="var b=getElementsByTagName('body')[0];if(b)zoomNode(b,(10+".$zoomBy.")/10);"; $JSfunc="function zoomNode(n,z){for(var j=0;j<n.childNodes.length;j++)if(n.childNodes[j].nodeType==1)zoomNode(n.childNodes[j],z);var lh=getComputedStyle(n,'').getPropertyValue('line-height');if(lh!='normal')n.style.lineHeight=Math.round(parseFloat(lh.replace(/px/,''))*z)+'px';n.style.fontSize=Math.round(parseFloat(getComputedStyle(n,'').getPropertyValue('font-size').replace(/px/,''))*z)+'px'}"; &hndlDocs;
  398. }
  399.  
  400. zoomImgs{
  401. $JSdoitImg="var iz=(getAttribute('zoom')==null)?1:getAttribute('zoom');if(getAttribute('initW')==null){setAttribute('initW',width);setAttribute('initH',height)}width=bz*iz*getAttribute('initW');height=bz*iz*getAttribute('initH')"; &hndlImgs;
  402. }
  403. ImageInfo{
  404. $JSdoitImg="var l=getAttribute('longdesc'),s='"._("Image Properties")."\\n\\n"._("URL:").\\t."'+unescape(src)+'\\n"._("Size:\\t%W x %H Pixels")."'.replace(/%W/,width).replace(/%H/,height);if(alt)s+='\\n"._("Alt. Text:\\t")."'+alt;if(l){s+='\\n\\n"._("A description is available for this image. Do you want to view it?")."';if(confirm(s)){if(top.location==self.location)open(l);top.location.href=l}}else alert(s)"; &hndlImg;
  405. }
  406.  
  407. ImgInfo {
  408. $FrameURL=""; $PageURL=$FrameURL;
  409. open("javascript: function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function XyZ() { var img=chkframes(window); if (img) { alert(\"* I M A G E   P R O P E R T I E S *\\r\\n\\r\\nURL:\\t\" + unescape(img.src) + \"\\r\\nWidth:\\t\" + img.width + \"\\r\\nHeight:\\t\" + img.height + \"\\r\\nALT:\\t\" + img.alt  + \"\\r\\nTitle:\\t\" + img.title); } } void(XyZ()); ");
  410. }
  411.  
  412. ImageCache{
  413. $i=index($ImageURL,"#");
  414. $addr=$i==-1 ? $ImageURL:substr($ImageURL,0,$i);
  415. $client=index($addr,"https://")==0 ? "HTTP-memory-only":"HTTP";
  416. $var="about:cache-entry?client=".$client."&sb=1&key=".$addr;
  417. index($addr,"http")==0 ? opennew($var):"";
  418. }
  419.  
  420. ZoomInImage{
  421. $FrameURL=""; $PageURL=$FrameURL;
  422. $zoomBy="2"; &zoomImg;
  423. }
  424. ZoomInImg{
  425. $FrameURL=""; $PageURL=$FrameURL;
  426. open("javascript:function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } function findIMG() { var img=chkframes(window); zoomImage(img,2); } void(findIMG());");
  427. }
  428.  
  429. ZoomOutImage{
  430. $zoomBy="1/2"; &zoomImg;
  431. }
  432. ZoomOutImg {
  433. $FrameURL=""; $PageURL=$FrameURL;
  434. open("javascript:function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } function findIMG() { var img=chkframes(window); zoomImage(img,.5); } void(findIMG());");
  435. }
  436.  
  437. ZoomInImages{
  438. $zoomBy="1"; &zoomImgs;
  439. }
  440. ZoomInImgs{
  441. open("javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], 1.1); })();");
  442. }
  443.  
  444. ZoomOutImages{
  445. $zoomBy="-1"; &zoomImgs;
  446. }
  447. ZoomOutImgs{
  448. open("javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], .9092); })();");
  449. }
  450.  
  451. ZoomImageLinks{
  452. $macro="ZoomImgLinks"; &JSEnable;
  453. }
  454. ZoomImgLinks{
  455. open("javascript:{var hrefs=document.getElementsByTagName('A'),images='';for(idx=0;idx<hrefs.length;idx++){href=hrefs[idx].href.toUpperCase(); if(href.indexOf('.GIF')>-1||href.indexOf('.BMP')>-1||href.indexOf('.JPEG')>-1||href.indexOf('.JPG')>-1||href.indexOf('.PNG')>-1)images+='<img src='+hrefs[idx]+'><br><br>';}images='<html><body><center><h2>Images</h2><br><br>'+images+'</center></body></html>';document.write(images);document.close();}");
  456. }
  457.  
  458. ZoomInPage2{
  459. $zoomBy="1"; &zoomImgs; &zoomTxt;
  460. }
  461.  
  462. ZoomOutPage2{
  463. $zoomBy="-1"; &zoomImgs; &zoomTxt;
  464. }
  465.  
  466. ZoomInPage{
  467. $zoomBy="1"; &zoomImgs; id(ID_FONT_INCREASE);
  468. }
  469. ZoomInPg{
  470. open("javascript:function zoomImage(image, amt) { if(image.initialHeight == null) {image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; }function rZoomFont(n, node) {for ( var i = 0; i < node.childNodes.length; i++ ) {if (node.childNodes[i].nodeType == 1) rZoomFont(n, node.childNodes[i]);}startSize = getComputedStyle(node,'').getPropertyValue('font-size');startSize = Number(startSize.substr(0,startSize.length-2));lh = getComputedStyle(node,'').getPropertyValue('line-height');if (lh != 'normal') {lh = Number(lh.substr(0,lh.length-2)) * n + 'px';node.style.lineHeight = lh;}newSize = (startSize * n) + 'px';node.style.fontSize = newSize;}rZoomFont(1.1,document.getElementsByTagName('body')[0]); for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], 1.1);");
  471. }
  472.  
  473. ZoomOutPage{
  474. $zoomBy="-1"; &zoomImgs; id(ID_FONT_DECREASE);
  475. }
  476. ZoomOutPg{
  477. open("javascript:function zoomImage(image, amt) { if(image.initialHeight == null) {image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; }function rZoomFont(n, node) {for ( var i = 0; i < node.childNodes.length; i++ ) {if (node.childNodes[i].nodeType == 1) rZoomFont(n, node.childNodes[i]);}startSize = getComputedStyle(node,'').getPropertyValue('font-size');startSize = Number(startSize.substr(0,startSize.length-2));lh = getComputedStyle(node,'').getPropertyValue('line-height');if (lh != 'normal') {lh = Number(lh.substr(0,lh.length-2)) * n + 'px';node.style.lineHeight = lh;}newSize = (startSize * n) + 'px';node.style.fontSize = newSize;}rZoomFont(0.9092,document.getElementsByTagName('body')[0]); for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], .9092);");
  478. }
  479.  
  480. $zoom="kmeleon.general.zoomButtons";
  481.  
  482. ZoomSync{
  483. setcheck("macros(ZoomPage)",getpref(STRING,$zoom)==""? true:false);
  484. setcheck("macros(ZoomText)",getpref(STRING,$zoom)=="text"? true:false);
  485. setcheck("macros(ZoomImages)",getpref(STRING,$zoom)=="images"? true:false);
  486. }
  487.  
  488. ZoomSet{
  489. setpref(STRING,$zoom,$var); &Sync;
  490. alert($what,Zoom Toolbar Buttons,INFO);
  491. }
  492. ZoomText{
  493. $var="text"; $what=_("Zoom In/Out toolbar buttons will effect text only."); &ZoomSet;
  494. }
  495. ZoomImages{
  496. $var="images"; $what=_("Zoom In/Out toolbar buttons will effect images only."); &ZoomSet;
  497. }
  498. ZoomPage{
  499. $var=""; $what=_("Zoom In/Out toolbar buttons will effect both images and text."); &ZoomSet;
  500. }
  501.  
  502. ZoomIn{
  503. $zi=getpref(STRING,$zoom); $zi==""? &ZoomInPage:$zi=="text"? id(ID_FONT_INCREASE):&ZoomInImages;
  504. }
  505. ZoomInCheck{
  506. $zi=="text"? id(ID_FONT_INCREASE):&ZoomInImages;
  507. }
  508.  
  509. ZoomOut{
  510. $zo=getpref(STRING,$zoom); $zo==""? &ZoomOutPage:$zo=="text"? id(ID_FONT_DECREASE):&ZoomOutImages;
  511. }
  512. ZoomOutCheck{
  513. $zo=="text"? id(ID_FONT_DECREASE):&ZoomOutImages;
  514. }
  515.  
  516. # ----BOOKMARK MACROS----
  517.  
  518. BookSync{
  519. setcheck("macros(BookChev)",getpref(BOOL,"kmeleon.plugins.bookmarks.chevron"));
  520. setcheck("macros(FavChev)",getpref(BOOL,"kmeleon.plugins.favorites.chevron"));
  521. setcheck("macros(HotChev)",getpref(BOOL,"kmeleon.plugins.hotlist.chevron"));
  522. setcheck("macros(OpenBook1)",getpref(STRING,$book)=="ID_OPEN_LINK" ? true:false);
  523. setcheck("macros(OpenBook2)",getpref(STRING,$book)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false);
  524. setcheck("macros(OpenBook3)",getpref(STRING,$book)=="layers(OpenURL)"? true:false);
  525. setcheck("macros(OpenBook4)",getpref(STRING,$book)=="layers(OpenURLBg)"? true:false);
  526. setcheck("macros(OpenBook5)",getpref(STRING,$book)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false);
  527. setcheck("macros(OpenFav1)",getpref(STRING,$fav)=="ID_OPEN_LINK"? true:false);
  528. setcheck("macros(OpenFav2)",getpref(STRING,$fav)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false);
  529. setcheck("macros(OpenFav3)",getpref(STRING,$fav)=="layers(OpenURL)"? true:false);
  530. setcheck("macros(OpenFav4)",getpref(STRING,$fav)=="layers(OpenURLBg)"? true:false);
  531. setcheck("macros(OpenFav5)",getpref(STRING,$fav)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false);
  532. setcheck("macros(OpenHot1)",getpref(STRING,$hot)=="ID_OPEN_LINK"? true:false);
  533. setcheck("macros(OpenHot2)",getpref(STRING,$hot)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false);
  534. setcheck("macros(OpenHot3)",getpref(STRING,$hot)=="layers(OpenURL)"? true:false);
  535. setcheck("macros(OpenHot4)",getpref(STRING,$hot)=="layers(OpenURLBg)"? true:false);
  536. setcheck("macros(OpenHot5)",getpref(STRING,$hot)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false);
  537. }
  538.  
  539. FileBook{
  540. plugin(bookmarks,Add); plugin(bookmarks,Edit);
  541. }
  542. FileHot{
  543. plugin(hotlist,Add); plugin(hotlist,Edit);
  544. }
  545. FileFav{
  546. plugin(favorites,Add); plugin(favorites,Edit);
  547. }
  548.  
  549. FavToolbar{
  550. $tf="kmeleon.plugins.favorites.toolbarFolder";
  551. $folder=getpref(STRING,$tf); $folder==""? $folder="Links":""; 
  552. $folder=prompt("Enter the name of the folder to be displayed on your favorites toolbar.","Favorites Toolbar Folder",$folder);
  553. $folder==""?"":setpref(STRING,$tf,$folder);
  554. $folder==""?"":alert("Favorites Toolbar Folder will be  ' " .$folder." '  when K-Ninja is restarted","Favorites Toolbar Folder",INFO);
  555. }
  556. ChangeLinks{
  557. $tit="kmeleon.plugins.favorites.title";
  558. $favtit=getpref(STRING, $tit); $favtit==""? $favtit="Links":""; 
  559. $favtit=prompt("Enter the title to be displayed on your favorites toolbar.", "Toolbar Title     (Leave blank or click Cancel to remove title)", $favtit);
  560. setpref(STRING,$tit,$favtit);
  561. alert("Title change will be apparent when K-Ninja is restarted","Favorites Toolbar Title",INFO);
  562. }
  563.  
  564. Chevron{
  565. $chevron="kmeleon.plugins.".$plugin.".chevron"; togglepref(BOOL,$chevron);
  566. &Sync; getpref(BOOL,$chevron)==true ? $var="- ENABLED":$var="- DISABLED";
  567. alert("\nToolbar Chevron ".$var."\n\n\nChange will be visible when K-Ninja is restarted.","Toolbar Chevron",INFO);
  568. }
  569. BookChev{
  570. $plugin="bookmarks"; &Chevron;
  571. }
  572. FavChev{
  573. $plugin="favorites"; &Chevron;
  574. }
  575. HotChev{
  576. $plugin="hotlist"; &Chevron;
  577. }
  578.  
  579. $ol="ID_OPEN_LINK"; $nw="ID_OPEN_LINK_IN_NEW_WINDOW"; 
  580. $bw="ID_OPEN_LINK_IN_BACKGROUND"; $lo="layers(OpenURL)"; $bl="layers(OpenURLBg)";
  581. $book="kmeleon.plugins.bookmarks.openurl";
  582. $fav="kmeleon.plugins.favorites.openurl";
  583. $hot="kmeleon.plugins.hotlist.openurl";
  584.  
  585. openurl{
  586. setpref(STRING,"kmeleon.plugins.".$plugin.".openurl",$how); &Sync;
  587. }
  588.  
  589. OpenBook1{
  590. $plugin="bookmarks"; $how=$ol; &openurl;
  591. }
  592. OpenBook2{
  593. $plugin="bookmarks"; $how=$nw; &openurl;
  594. }
  595. OpenBook3{
  596. $plugin="bookmarks"; $how=$lo; &openurl;
  597. }
  598. OpenBook4{
  599. $plugin="bookmarks"; $how=$bl; &openurl;
  600. }
  601. OpenBook5{
  602. $plugin="bookmarks"; $how=$bw; &openurl;
  603. }
  604.  
  605. OpenFav1{
  606. $plugin="favorites"; $how=$ol; &openurl;
  607. }
  608. OpenFav2{
  609. $plugin="favorites"; $how=$nw; &openurl;
  610. }
  611. OpenFav3{
  612. $plugin="favorites"; $how=$lo; &openurl;
  613. }
  614. OpenFav4{
  615. $plugin="favorites"; $how=$bl; &openurl;
  616. }
  617. OpenFav5{
  618. $plugin="favorites"; $how=$bw; &openurl;
  619. }
  620.  
  621. OpenHot1{
  622. $plugin="hotlist"; $how=$ol; &openurl;
  623. }
  624. OpenHot2{
  625. $plugin="hotlist"; $how=$nw; &openurl;
  626. }
  627. OpenHot3{
  628. $plugin="hotlist"; $how=$lo; &openurl;
  629. }
  630. OpenHot4{
  631. $plugin="hotlist"; $how=$bl; &openurl;
  632. }
  633. OpenHot5{
  634. $plugin="hotlist"; $how=$bw; &openurl;
  635. }
  636.  
  637. # ----GROUP MACROS----
  638.  
  639. $kg="kmeleon.group."; $URL="";
  640. $rl="ReplaceLayersInWindow";
  641. $al="AddLayersToWindow";
  642. $gl="GetLayersInWindow";
  643. $fn="FindNick"; $lc="";
  644. $gn="kmeleon.groupnames";
  645.  
  646. ReadNames{
  647. $names=getpref(STRING, $gn);
  648. }
  649. Checkname{
  650. $checkname="\n".$name."\n"; $exists=index($names,$checkname);
  651. }
  652.  
  653. SaveAsGroup{
  654. &ReadNames; $names==""? $names="\n":0;
  655. $group=pluginmsgex(layers,$gl,"",STRING);
  656. $name=prompt(_("Enter a Group Name to save these layers as:"),_("Group Name?"),"");
  657. $name==""?"": &Checkname;
  658. $name==""?"": $exists!=-1? &ConfirmGroup:&SaveGroup;
  659. }
  660. ConfirmGroup{
  661. confirm(_("Group Name exists. Overwrite?"),sub("%s", $name, _("Group Name '%s' Found")),YESNO,EXCLAIM)=="YES"? setpref(STRING, $kg.$name,$group):&SaveAsGroup;
  662. }
  663. SaveGroup{
  664. setpref(STRING,$gn,$names.$name."\n"); setpref(STRING,$kg.$name,$group);
  665. confirm(sub("%s", $name, "\n"._("Type '%s' in the URL Bar and press SHIFT+ENTER to open it only or ALT+ENTER to open it next to the current layers.")."\n\n"._("Open this Group everytime you start K-Ninja?")),sub("%s", $name, _("Group Saved As:  %s")),YESNO)=="NO" ?"":&SetGroup;
  666. }
  667.  
  668. SavedGroups{
  669. &ReadNames; $names==""? $var=_("Folder"): $var=_("Group");
  670. $names==""? $names=_("No Group Names Found") ."\n":0;
  671. $open=confirm($names."\n\n".sub("%s", $var, _("Open a %s now?")), _("Saved Groups"))=="OK"? &OpenGroup:"";
  672. }
  673.  
  674. URLToGroup{
  675. $name=prompt(_("Enter a Group Name to add this URL to:"),_("Group Name?"),"");
  676. getpref(STRING,$kg.$name); $group=getpref(STRING,$kg.$name);
  677. $name==""?"":$group==""? &NoGroup:&AddURL;
  678. }
  679. AddURL{
  680. setpref(STRING,$kg.$name,$group.$URL."\t");
  681. $prompt_text=sub("%s",$name,sub("%s", $TITLE, The URL for  '%s'  has been added to Group: %s));
  682. alert($prompt_text,sub("%s", $name, "Group:  '%s'  Updated"),INFO);
  683. }
  684.  
  685. NoGroup{
  686. alert("No Group Found");
  687. }
  688.  
  689. LayersToGroup {
  690. $name=prompt(_("Enter a Group Name to add these layers to"),_("Group Name?"),"");
  691. getpref(STRING,$kg.$name); $group=getpref(STRING,$kg.$name);
  692. $name==""?"": $group==""? &NoGroup:&AddLayers;
  693. }
  694.  
  695. AddLayers{
  696. $curr=pluginmsgex(layers,"GetLayersInWindow","",STRING);
  697. setpref(STRING,$kg.$name,$group.$curr);
  698.  
  699. $prompt_text = sub("%s", $var, _("Layers added to Group: %s"));
  700. $prompt_title = sub("%s", $var, _("Group:  '%s'  Updated"));
  701.  
  702. alert($prompt_text,$prompt_title,INFO);
  703. }
  704.  
  705. DeleteGroup{
  706. &ReadNames; $names==""? &NoGroup:&ConfirmDelete;
  707. }
  708.  
  709. ConfirmDelete{
  710. $open=confirm($names."\n\n"._("Do you want to delete one of these groups?"),_("Saved Groups"),YESNO);
  711. $open=="NO"? "":&PromptDelete;
  712. }
  713. PromptDelete{
  714. $name=prompt(_("Enter Name of Group to Delete:"),_("Group Name?"),"");
  715. $name==""?"": &Checkname;
  716. $name==""?"": $exists!=-1? &DeleteURLs:&NoGroup;
  717. }
  718. DeleteURLs{
  719. $names=sub($checkname,"\n",$names);
  720. setpref(STRING,$gn,$names); delpref($kg.$name);
  721.  
  722. $prompt_text = sub("%s", $var, _("Group: '%s' deleted."));
  723. alert($prompt_text ,_("Group Deleted"),INFO);
  724. }
  725.  
  726. PluginCheck{
  727. $hot=getpref(BOOL,"kmeleon.plugins.bookmarks.load")
  728. $hot==false ? $hot=getpref(BOOL,"kmeleon.plugins.hotlist.load"): "";
  729. $hot==false ? $tip=_("Enter Group Name"):$tip=_("Enter Group Name or Folder Nick");
  730. }
  731.  
  732. SetOnly{
  733. setpref(STRING,$og,"layers(ReplaceLayersInWindow)");
  734. }
  735. SetNext{
  736. setpref(STRING,$og,"layers(AddLayersToWindow)");
  737. }
  738. GroupOnly{
  739. $lc=$rl; &SetOnly; &OpenGroup; $lc=$al; &SetNext;
  740. }
  741. OpenGroup{
  742. $name=$URLBAR;$name==""?$name=$URL:"";
  743. $name==$URL? &PromptGroup:&ChkGroup; 
  744. }
  745. PromptGroup{
  746. &PluginCheck; $name=prompt($tip,_("Group Name?"),"");
  747. $name==""?"":&ChkGroup;
  748. }
  749. ChkGroup{
  750. $group=getpref(STRING,$kg.$name); $group==""? &ChkFolder:&Group;
  751. }
  752. ChkFolder{
  753. $plugin="bookmarks"; $group=pluginmsgex($plugin,$fn,$name,STRING)==""? $plugin="hotlist":"";
  754. pluginmsgex($plugin,$fn,$name,STRING)==""? &ResetURL:&Folder;
  755. }
  756. Group{
  757. $lc==""? $lc=$al:""; pluginmsg(layers,$lc,$group);
  758. }
  759. Folder{
  760. $URLBAR=$name; id(ID_NAV_GO); &ResetURL;
  761. }
  762.  
  763. # STARTUP GROUP & LAST SESSION MACROS
  764.  
  765. $loaded="";
  766. $sg="kmeleon.general.startGroup";
  767. $sn="kmeleon.general.startGroupName";
  768. $sh="kmeleon.general.startHome";
  769. $og="kmeleon.general.opengroup";
  770. $gt="kmeleon.grouptemp";
  771. $kl="kmeleon.grouplast";
  772. $ln="ID_OPEN_LINK_IN_NEW_WINDOW|ID_OPEN_LINK_IN_BACKGROUND";
  773.  
  774. GroupsSync{
  775. getpref(BOOL,$sh)==true ? setpref(INT,$sg,0):"";
  776. setcheck("macros(StartHome)",getpref(BOOL,$sh));
  777. setcheck("macros(StartBlank)",getpref(INT,$sg)==1? true:false);
  778. setcheck("macros(StartGroup)",getpref(INT,$sg)==2? true:false);
  779. setcheck("macros(StartLast)",getpref(INT,$sg)==3? true:false);
  780. }
  781.  
  782.  
  783. StartGroup{
  784. $oldname=getpref(STRING,$sn); &PluginCheck;
  785. $name=prompt($tip,_("Startup Group Name?"),$oldname);
  786. $name==""?"":$group=getpref(STRING,$kg.$name)==""? &FolderCheck:&SetGroup;
  787. }
  788. FolderCheck{
  789. $plugin="bookmarks"; $group=pluginmsgex($plugin,$fn,$name,STRING)==""? $plugin="hotlist":0;
  790. $group=pluginmsgex($plugin,$fn,$name,STRING)==""? &NoStart:&SetGroup;
  791. }
  792. SetGroup{
  793. setpref(INT,$sg,2); setpref(STRING,$sn,$name); setpref(BOOL,$sh,false); &Sync;
  794. }
  795. NoStart{
  796. &NoGroup; setpref(STRING,$sn,$oldname); &StartGroup;
  797. }
  798. StartLast{
  799. setpref(INT,$sg,3); setpref(BOOL, $sh, false); &Sync;
  800. }
  801. StartHome{
  802. setpref(INT,$sg,0); setpref(BOOL,$sh,true); &Sync;
  803. }
  804. StartBlank{
  805. setpref(INT,$sg,1); setpref(BOOL,$sh,false); &Sync;
  806. }
  807.  
  808. GroupStart{
  809. $name=getpref(STRING,$sn);$theurl=$URLBAR;
  810. $theurl=="about:blank"? &LayersCheck:"";
  811. $loaded="";
  812. }
  813. LayersCheck{
  814. $layer=="true"? &StartLayers:&StartWindows;
  815. }
  816. StartLayers{
  817. $lc=$rl; &SetOnly; getpref(INT,$sg)==3 ? &OpenLast:&OpenStart;
  818. $lc=$al; &SetNext;
  819. }
  820. OpenLast{
  821. $group=getpref(STRING,$kl); $group==""?"":&Group;
  822. }
  823. OpenStart{
  824. $name=getpref(STRING,$sn); &ChkGroup;
  825. }
  826. StartWindows{
  827. setpref(STRING,$og,"ID_OPEN_LINK|ID_OPEN_LINK_IN_BACKGROUND");
  828. $name=getpref(STRING,$sn); getpref(INT,$sg)==3 ?"":&ChkFolder;
  829. setpref(STRING,$og,$ln);
  830. }
  831.  
  832. GetSetTemp{
  833. $group=pluginmsgex(layers,$gl,"",STRING); setpref(STRING,$gt,$group);
  834. }
  835. SetLast{
  836. $group=getpref(STRING, $gt); setpref(STRING,$kl,$group);
  837. }
  838. OpenClosed{
  839. $lc=$rl; $group=getpref(STRING,$gt); $curr=pluginmsgex(layers,$gl,"",STRING);
  840. $group==$curr?"":$curr=""; $curr==""? &Group:"";
  841. }
  842.  
  843. ReloadAll{
  844. pluginmsg(layers,"AllLayersInWindow","ID_NAV_RELOAD");
  845. }
  846.  
  847. Home{
  848. getpref(INT,$sg)!=2 ? id(ID_NAV_HOME):&OpenStart;
  849. }
  850.  
  851.  
  852. # ----MAIL MACROS----
  853.  
  854. $mc=$macroPrefBranch."mailClient";
  855. $nc=$macroPrefBranch."newsClient";
  856.  
  857. defMail{
  858. $base="Software\\Clients\\Mail\\";
  859. $base=$base.readreg("HKLM",$base);
  860. $def=readreg("HKLM",$base."\\shell\\open\\command\\");
  861. $sys=readreg("HKLM",$base."\\protocols\\mailto\\shell\\open\\command\\");
  862. $usr=readreg("HKCR","mailto\\shell\\open\\command\\");
  863. $usr==$sys?$client=$def:$client=$usr;
  864. }
  865. defNews{
  866. $base="Software\\Clients\\News\\";
  867. $base=$base.readreg("HKLM",$base);
  868. $def=readreg("HKLM",$base."\\shell\\open\\command\\");
  869. $sys=readreg("HKLM",$base."\\protocols\\news\\shell\\open\\command\\");
  870. $usr=readreg("HKCR","news\\shell\\open\\command\\");
  871. $usr==$sys?$client=$def:$client=$usr;
  872. }
  873. MNgetPref{
  874. $client=getpref(STRING,$mnPref);
  875. }
  876. MNsetPref{
  877. setpref(STRING,$mnPref,$client);
  878. }
  879. MNcfg{
  880. &MNgetPref; $client==""?macros($macro):""; $client=prompt($txt,$tit,$client); $client==""?"":&MNsetPref;
  881. }
  882. MNopen{
  883. &MNgetPref;
  884. # Client not set? Configure!
  885. $client==""?macros($macro):"";
  886. # Client (now) set? Open!
  887. $client==""?"":(index($client,"://")==-1?exec($client):opennew($client));
  888. }
  889.  
  890. Mail{
  891. $mnPref=$mc; $macro="MCFG"; &MNopen;
  892. }
  893. News{
  894. $mnPref=$nc; $macro="NCFG"; &MNopen;
  895. }
  896.  
  897. MCFG{
  898. $mnPref=$mc; $macro="defMail"; $txt=_("Enter your mail client's path or your web mailer's URL:"); $tit=_("Configure Mail"); &MNcfg;
  899. }
  900. NCFG{
  901. $mnPref=$nc; $macro="defNews"; $txt=_("Enter your news client's path or your newsgroups provider's URL:"); $tit=_("Configure Newsgroups"); &MNcfg;
  902. }
  903.  
  904. Compose{
  905. open("mailto:");
  906. }
  907.  
  908. EmailURL{
  909. $JSdoit="with(top.document)location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(URL)"; &hndlDoc;
  910. }
  911. EmailImageURL{
  912. $JSdoitImg="location='mailto:?subject='+encodeURIComponent((title)?title:((alt)?alt:document.title))+'&body='+encodeURIComponent(src)"; &hndlImg;
  913. }
  914. EmailFrameURL{
  915. $JSdoit="location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(URL)"; &hndlDoc;
  916. }
  917. EmailText{
  918. $JSdoit="if(getSelection())location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(getSelection())"; &hndlDoc;
  919. }
  920.  
  921.  
  922. # ----PRIVACY MACROS----
  923.  
  924. $animation="image.animation_mode";
  925. $colors="browser.display.use_document_colors";
  926. $cookies="network.cookie.cookieBehavior";
  927. $images="permissions.default.image";
  928. $java="security.enable_java";
  929. $jscript="javascript.enabled";
  930. $popups="dom.disable_open_during_load";
  931. $referer="network.http.sendRefererHeader";
  932.  
  933. PrivacySync{
  934. setcheck("macros(BlockScripts)",getpref(BOOL,$flip));
  935. setcheck("macros(AllowScripts)",getpref(BOOL,$flip)==false ? true:false);
  936.  
  937. setcheck("macros(AniToggle)",getpref(STRING,$animation)=="none"? true:false);
  938. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(AniToggle),".(getpref(STRING,$animation)=="none"? 1:0));
  939.  
  940. setcheck("macros(CToggle)",getpref(BOOL,$colors)? false:true);
  941. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(CToggle),".(getpref(BOOL,$colors)? 0:1));
  942.  
  943. setcheck("macros(CKToggle)", getpref(INT,$cookies));
  944. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(CKToggle),".(getpref(INT,$cookies)==2? 1:0));
  945.  
  946. setcheck("macros(ImgToggle)",getpref(INT,$images)==1? false:true);
  947. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(ImgToggle),".(getpref(INT,$images)==1? 0:1));
  948.  
  949. setcheck("macros(JToggle)", getpref(BOOL,$java)? false:true);
  950. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(JToggle),".(getpref(BOOL,$java)? 0:1));
  951.  
  952. setcheck("macros(JSToggle)",getpref(BOOL,$jscript)? false:true);
  953. pluginmsg(toolbars, "CheckButton", "Javascript button, macros(JSToggle), " . (getpref(BOOL, $jscript) ? 0 : 1));
  954. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(JSToggle),".(getpref(BOOL,$jscript)? 0:1));
  955.  
  956. setcheck("macros(PBToggle)",getpref(BOOL,$popups));
  957. pluginmsg(toolbars,"CheckButton","Main Bar,macros(PBToggle),".(getpref(BOOL,$popups)? 1:0));
  958. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(PBToggle),".(getpref(BOOL,$popups)? 1:0));
  959.  
  960. setcheck("macros(RefToggle)",getpref(INT,$referer)==1? false:true);
  961. pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(RefToggle),".(getpref(INT,$referer)? 0:1));
  962. }
  963.  
  964. AniToggle {
  965. togglepref(STRING,$animation,"normal","none"); &Sync;
  966. getpref(STRING,$animation)=="none"?$tip=_("BLOCKED"):$tip=_("ALLOWED");
  967. statusbar(_("Animation ").$tip);
  968. }
  969.  
  970. CToggle{
  971. togglepref(BOOL,$colors); &PrivacySync;
  972. getpref(BOOL,$colors)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  973. statusbar(_("Page Colors ").$tip);
  974. }
  975.  
  976. CKToggle {
  977. togglepref(INT,$cookies,2,0); &PrivacySync;
  978. getpref(INT,$cookies)==2 ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  979. statusbar(_("Cookies ").$tip);
  980. }
  981.  
  982. PBToggle{
  983. togglepref(BOOL,$popups); &PrivacySync;
  984. getpref(BOOL,$popups)==true ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  985. statusbar(_("Popups ").$tip);
  986. }
  987.  
  988. JToggle{
  989. togglepref(BOOL,$java); &PrivacySync;
  990. getpref(BOOL,$java)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  991. statusbar(_("Java ").$tip);
  992. }
  993.  
  994. JSToggle{
  995. togglepref(BOOL,$jscript); &PrivacySync;
  996. getpref(BOOL,$jscript)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  997. statusbar(_("JavaScript ").$tip);
  998. }
  999.  
  1000. ImgToggle {
  1001. togglepref(INT,$images,1,2); &PrivacySync;
  1002. getpref(INT,$images)==2 ? $tip=_("BLOCKED"):$tip=_("ALLOWED");
  1003. statusbar(_("Images ").$tip);
  1004. }
  1005.  
  1006. RefToggle {
  1007. togglepref(INT,$referer,1,2); &PrivacySync;
  1008. getpref(INT,$referer)==1 ? $tip=_("ALLOWED"):$tip=_("BLOCKED");
  1009. statusbar(_("Referer ").$tip);
  1010. }
  1011.  
  1012. $ua="general.useragent.override"; $uas="";
  1013. $pu="kmeleon.privacy.useragent"; $ps=".string";
  1014. $uar="kmeleon.privacyUA.noReset";
  1015.  
  1016. $ua="general.useragent.override"; $uas="";
  1017. $pu="kmeleon.privacy.useragent"; $ps=".string";
  1018. $uar="kmeleon.privacyUA.noReset";
  1019.  
  1020. # ---- User Agent ----
  1021. UASync{
  1022. setcheck("macros(UA)",""==getpref(STRING,$ua)? true:false);
  1023. setcheck("macros(UA1)",getpref(STRING,$pu."1".$ps)==getpref(STRING,$ua)? true:false);
  1024. setcheck("macros(UA2)",getpref(STRING,$pu."2".$ps)==getpref(STRING,$ua)? true:false);
  1025. setcheck("macros(UA3)",getpref(STRING,$pu."3".$ps)==getpref(STRING,$ua)? true:false);
  1026. setcheck("macros(ResetUA)",getpref(BOOL,$uar)?false:true);
  1027. }
  1028.  
  1029. UA{
  1030. delpref($ua); &Sync;
  1031. }
  1032. UA1{
  1033. $uas=getpref(STRING,$pu."1".$ps); &SetUA;
  1034. }
  1035. UA2{
  1036. $uas=getpref(STRING,$pu."2".$ps); &SetUA;
  1037. }
  1038. UA3{
  1039. $uas=getpref(STRING,$pu."3".$ps); &SetUA;
  1040. }
  1041. UACust{
  1042. $uas=getpref(STRING,$ua);
  1043. $uas=prompt(_("Enter the User Agent string to identify K-Ninja as:"),_("Custom User Agent"),$uas);
  1044. $uas==""?"":&SetUA;
  1045. }
  1046. SetUA{
  1047. setpref(STRING,$ua,$uas); &UASync;
  1048. }
  1049. ResetUA{
  1050. togglepref(BOOL,$uar); &UASync;
  1051. }
  1052.  
  1053. ClearAll{
  1054. plugin(privacy,ClearCache); plugin(privacy,ClearCookies);
  1055. plugin(privacy,ClearHistory); plugin(privacy,ClearMRU);
  1056. plugin(privacy,ClearSignon);
  1057. }
  1058.  
  1059. KillFlash{
  1060. $JSdoit="del(w.document,'object');del(w.document,'embed')"; &Kill;
  1061. }
  1062.  
  1063. KillApplets{
  1064. $JSdoit="del(w.document,'applet')"; &Kill;
  1065. }
  1066.  
  1067. Kill{
  1068. $JSfunc="function del(doc,tag){for(var d,e=doc.getElementsByTagName(tag),j=e.length-1;j+1;j--){d=doc.createElement('div');d.innerHTML='<del>'+tag+'</del>';d.style.height=e[j].height;d.style.width=e[j].width;e[j].parentNode.replaceChild(d,e[j])}}";
  1069. &hndlDocs;
  1070. }
  1071.  
  1072. # ----LAYER MACROS----
  1073.  
  1074. LayerSync{
  1075. setcheck("macros(Enumerate)",getpref(BOOL,$num));
  1076. setcheck("macros(Pressed)",getpref(INT,$style)==2? true:false);
  1077. setcheck("macros(Pressed+)",getpref(INT,$style)==10? true:false);
  1078. setcheck("macros(Buttons)",getpref(INT,$style)==6? true:false);
  1079. setcheck("macros(Buttons+)",getpref(INT,$style)==14? true:false);
  1080. setcheck("macros(SetCloseLast)",getpref(INT,$onClose)==0? true:false);
  1081. setcheck("macros(SetCloseLeft)",getpref(INT,$onClose)==1? true:false);
  1082. setcheck("macros(SetCloseRight)",getpref(INT,$onClose)==2? true:false);
  1083. setcheck("macros(SetOpenNext)",getpref(INT,$onOpen)==1? true:false);
  1084. setcheck("macros(SetOpenLast)",getpref(INT,$onOpen)==0? true:false);
  1085. setcheck("macros(ConfirmToggle)",getpref(BOOL,$confirm));
  1086. }
  1087.  
  1088. LayersSync{
  1089. getpref(BOOL,$layers)==false ? setpref(BOOL,$catch,false):"";
  1090. getpref(BOOL,$layers)==false ? setpref(STRING,$mode,"WINDOWS ONLY"):(getpref(BOOL,$catch)==true ? setpref(STRING,$mode,"LAYERS ONLY"):setpref(STRING,$mode,""));
  1091. setcheck("macros(LayersOnly)",getpref(BOOL,$catch)==true ? true:false);
  1092. setcheck("macros(LayersWindows)",getpref(STRING,$mode)==""? true:false);
  1093. setcheck("macros(WindowsOnly)",$layer==false ? true:false);
  1094. setcheck("macros(URLInCurr)",getpref(STRING,$ou)=="ID_OPEN_LINK"? true:false);
  1095. setcheck("macros(URLInNew)", getpref(STRING,$ou)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false);
  1096. setcheck("macros(URLInLayer)",getpref(STRING,$ou)=="layers(OpenURL)"? true:false);
  1097. setcheck("macros(URLInBg)",getpref(STRING,$ou)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false);
  1098. setcheck("macros(URLInBgLayer)",getpref(STRING,$ou)=="layers(OpenURLBg)"? true:false);
  1099. }
  1100.  
  1101. $catch="kmeleon.plugins.layers.catchOpen";
  1102. $mode="kmeleon.general.mode";
  1103. $flip="dom.disable_window_flip";
  1104.  
  1105. LayersOnly{
  1106. $var="LAYERS ONLY"; setpref(BOOL,$layers,true); setpref(BOOL,$catch,true);
  1107. $bool=true; $menu=false; &Scripts; setpref(STRING,$mode,$var); &Sync; 
  1108. alert("All new windows will open in layers. If switching from Windows Only mode, you'll need to restart K-Ninja for Layers  Only mode to take effect.","Browsing Mode:  ".$var,INFO);
  1109. }
  1110.  
  1111. LayersWindows{
  1112. $var=""; setpref(BOOL,$layers,true);
  1113. setpref(BOOL,$catch,false); setpref(STRING,$mode,$var); &Sync; 
  1114. alert("You will now be able to browse using layers and multiple windows. If switching from Windows Only mode, you'll need to  restart K-Ninja for Layers and Windows mode to take effect.","Browsing Mode:  Layers & Windows", INFO);
  1115. }
  1116.  
  1117. WindowsOnly{
  1118. $var="WINDOWS ONLY"; $quest=confirm("\nWindows Only mode will disable the layers plugin. Groups and Sessions will not be  available, only Folder Groups for Bookmarks & Hotlist plugin users.\n\n\nDo you want to disable the layers plugin?","Browsing Mode:  ".$var,YESNO,EXCLAIM);
  1119. $quest=="NO"?"":&SetWO; 
  1120. }
  1121. SetWO{
  1122. setpref(BOOL,$layers,false); setpref(BOOL,$catch,false); setpref(STRING,$mode,$var); &Sync; 
  1123. alert("Restart K-Ninja for Windows Only mode to take effect.","Browsing Mode:  ".$var,INFO);
  1124. }
  1125.  
  1126. BlockScripts{
  1127. $bool=true; $menu=false; &Scripts; &Sync; 
  1128. alert("Sites are now BLOCKED from hiding toolbars, resizing the browser and disabling context menus.",Scripts,INFO);
  1129. }
  1130. AllowScripts{
  1131. $bool=false; $menu=true; &Scripts; &Sync;
  1132. alert("Sites are now ALLOWED to hide toolbars, resize the browser and disable context menus.",Scripts, INFO);
  1133. }
  1134. Scripts{
  1135. setpref(BOOL,$flip,$bool); 
  1136. setpref(BOOL,"dom.disable_window_move_resize",$bool);
  1137. setpref(BOOL,"dom.disable_window_open_feature.*",$bool); 
  1138. setpref(BOOL,"dom.disable_window_open_feature.minimizable",$bool);
  1139. setpref(BOOL,"dom.disable_window_open_feature.titlebar",$bool); 
  1140. setpref(BOOL,"dom.disable_window_open_feature.close",$bool);
  1141. setpref(BOOL,"dom.disable_window_open_feature.toolbar",$bool); 
  1142. setpref(BOOL,"dom.disable_window_open_feature.location",$bool);
  1143. setpref(BOOL,"dom.disable_window_open_feature.directories",$bool); 
  1144. setpref(BOOL,"dom.disable_window_open_feature.personalbar",$bool);
  1145. setpref(BOOL,"dom.disable_window_open_feature.menubar",$bool);
  1146. setpref(BOOL,"dom.disable_window_open_feature.scrollbars",$bool);
  1147. setpref(BOOL,"dom.disable_window_open_feature.resizable",$bool);
  1148. setpref(BOOL,"dom.disable_window_open_feature.status",$bool);
  1149. setpref(BOOL,"dom.disable_window_status_change",$bool);
  1150. setpref(BOOL,"dom.event.contextmenu.enabled",$menu);
  1151. }
  1152.  
  1153. $num="kmeleon.plugins.layers.numbers";
  1154. $style="kmeleon.plugins.layers.style";
  1155.  
  1156. LayerAlert{
  1157. alert("Some changes will only be fully apparent when the next layer is opened.","Layer Appearance Change Completed",INFO);
  1158. }
  1159. Enumerate{
  1160. togglepref(BOOL,$num); &Sync; &LayerAlert;
  1161. }
  1162. Style{
  1163. setpref(INT,$style,$int); &Sync; &LayerAlert;
  1164. }
  1165. Pressed{
  1166. $int=2; &Style;
  1167. }
  1168. Pressed+{
  1169. $int=10; &Style;
  1170. }
  1171. Buttons{
  1172. $int=6; &Style;
  1173. }
  1174. Buttons+{
  1175. $int=14; &Style;
  1176. }
  1177.  
  1178. LayersTitle{
  1179. $lt="kmeleon.plugins.layers.title";
  1180. $var=getpref(STRING, $lt); $var==""?$var="Layers:":"";
  1181. $var=prompt("Enter layer bar title:","Layer Bar Title     ( To remove title, leave blank or Cancel )",$var);
  1182. setpref(STRING,$lt,$var);
  1183. alert("Layer bar title = ".$var."\n\nChange will be visible when K-Ninja is restarted.","Layer Bar Title",INFO);
  1184. }
  1185.  
  1186. LayerWidth{
  1187. $max="kmeleon.plugins.layers.maxWidth";
  1188. $min="kmeleon.plugins.layers.minWidth";
  1189. $maxwid=getpref(INT,$max); $minwid=getpref(INT,$min);
  1190. $maxwid==0 ? $maxwid=35:"";
  1191. $maxwid=prompt("Enter Maximum Width:",Maximum Width,$maxwid);
  1192. $maxwid==""?"":setpref(INT,$max,$maxwid);
  1193. $maxwid==""?"":$minwid=prompt("Enter Minimum Width:",Minimum Width,$minwid);
  1194. $maxwid==""?"":$minwid==""?"":setpref(INT,$min,$minwid);
  1195. $maxwid==""?"":$minwid==""?"":alert("Maximum = ".$maxwid."\nMinimum = ".$minwid,"Layer Bar Button Width",INFO);
  1196. }
  1197.  
  1198. $onClose="kmeleon.plugins.layers.onCloseOption";
  1199. $onOpen="kmeleon.plugins.layers.onOpenOption";
  1200.  
  1201. SetCloseRight{
  1202. setpref(INT,$onClose,2); &Sync;
  1203. }
  1204. SetCloseLeft{
  1205. setpref(INT,$onClose,1); &Sync;
  1206. }
  1207. SetCloseLast{
  1208. setpref(INT,$onClose,0); &Sync;
  1209. }
  1210. SetOpenNext{
  1211. setpref(INT,$onOpen,1); &Sync;
  1212. }
  1213. SetOpenLast{
  1214. setpref(INT,$onOpen,0); &Sync;
  1215. }
  1216.  
  1217. $confirm="kmeleon.plugins.layers.confirmClose";
  1218.  
  1219. ConfirmToggle{
  1220. togglepref(BOOL,$confirm); &Sync;
  1221. getpref(BOOL,$confirm)==false ? $tip="DISABLED":$tip="ENABLED";
  1222. statusbar("Confirm before close ".$tip);
  1223. }
  1224.  
  1225. Selected{
  1226. $old=getclipboard(); setclipboard(); id(ID_EDIT_COPY); $add=getclipboard();
  1227. }
  1228.  
  1229. New{
  1230. $add=$SelectedText; $URLBAR=$URL;
  1231. $add==""? &Open:(getpref(STRING,$ou)!="ID_OPEN_LINK"? &PasteSel:&OpenNew);
  1232. }
  1233. Open{
  1234. $layer==true ? plugin(layers,Open):id(ID_NEW_BROWSER); 
  1235. }
  1236. OpenNew{
  1237. &ResetURL; 
  1238. $layer==true ? pluginmsg(layers,OpenURL,"about:blank"):opennew("about:blank");
  1239. $loaded="go";$go_url = $add;
  1240. }
  1241.  
  1242. PasteSel{
  1243. $add==""?id(ID_NAV_GO): $URLBAR=$add;id(ID_NAV_GO);
  1244. }
  1245.  
  1246. go{
  1247. $URLBAR=$go_url;id(ID_NAV_GO);$loaded="";
  1248. }
  1249.  
  1250.  
  1251. # ----URL BAR MACROS----
  1252.  
  1253. SelectGo{
  1254. $selection=$SelectedText;
  1255. $selection==""?"":$URLBAR=$selection;
  1256. id(ID_NAV_GO);
  1257. }
  1258.  
  1259. Copy{
  1260. id(ID_SELECT_URL); id(ID_EDIT_COPY);
  1261. }
  1262.  
  1263. PasteGo{
  1264. $URLBAR=getclipboard();id(ID_NAV_GO);
  1265. }
  1266.  
  1267. $ou="kmeleon.general.openurl";
  1268.  
  1269. URLBar{
  1270. setpref(STRING,$ou,$var); &Sync
  1271. }
  1272. URLInCurr{
  1273. $var="ID_OPEN_LINK"; &URLBar;
  1274. }
  1275. URLInLayer{
  1276. $var="layers(OpenURL)"; &URLBar;
  1277. }
  1278. URLInNew{
  1279. $var="ID_OPEN_LINK_IN_NEW_WINDOW"; &URLBar;
  1280. }
  1281. URLInBgLayer{
  1282. $var="layers(OpenURLBg)"; &URLBar;
  1283. }
  1284. URLInBg{
  1285. $var="ID_OPEN_LINK_IN_BACKGROUND"; &URLBar;
  1286. }
  1287.  
  1288. OpenInNew{
  1289. $old=getpref(STRING,$ou); $layer==true? &URLInLayer:&URLInNew;
  1290. id(ID_NAV_GO); setpref(STRING,$ou,$old);
  1291. }
  1292.  
  1293. up_directory {
  1294. $var=dirname($URL); $var=="."?"":open($var."/");
  1295. }
  1296.  
  1297. top_level {
  1298. InjectJS("location.pathname = \"\"");
  1299. }
  1300.  
  1301. top{
  1302. open("javascript:location.pathname = ""; void 0");
  1303. }
  1304.  
  1305. $dom="kmeleon.general.domComplete"; 
  1306.  
  1307. ctrl_enter{
  1308. $var="0"; &GetComplete; &Domain;
  1309. }
  1310. ctrl_alt_enter{
  1311. $var="1"; &GetComplete; &Domain;
  1312. }
  1313. ctrl_shift_enter{
  1314. $var="2"; &GetComplete; &Domain;
  1315. }
  1316.  
  1317. GetComplete{
  1318. $prefix=getpref(STRING,$dom.$var.".prefix");  
  1319. $prefix==""? $prefix="http://www.":"";
  1320. $suffix=getpref(STRING,$dom.$var.".suffix");
  1321. $var=="0"?($suffix==""?$suffix=".com":"";):"";
  1322. $var=="1"?($suffix==""?$suffix=".net":"";):""; 
  1323. $var=="2"?($suffix==""?$suffix=".org":"";):"";
  1324. }
  1325.  
  1326. Domain{
  1327. $old=getclipboard(); setclipboard(); id(ID_SELECT_URL); id(ID_EDIT_COPY);
  1328. $theurl=getclipboard(); $theurl==""? &ResetURL: &Complete; setclipboard($old);
  1329. }
  1330. Complete{
  1331. $fullurl=$prefix.$theurl.$suffix;
  1332. setclipboard($fullurl); id(ID_EDIT_PASTE); id(ID_NAV_GO); 
  1333. }
  1334.  
  1335. CEConfig{
  1336. $var="0"; &GetComplete; $tip="Ctrl + Enter"; &DomConfig;
  1337. }
  1338. CAEConfig{
  1339. $var="1"; &GetComplete; $tip="Ctrl + Alt + Enter"; &DomConfig;
  1340. }
  1341. CSEConfig{
  1342. $var="2"; &GetComplete; $tip="Ctrl + Shift + Enter"; &DomConfig;
  1343. }
  1344.  
  1345. DomConfig{
  1346. $prefix=prompt("Prefix:",$tip,$prefix);
  1347. $prefix==""?"":setpref(STRING,$dom.$var.".prefix", $prefix);
  1348. $prefix==""?"":$suffix=prompt("Suffix:",$tip,$suffix);
  1349. $prefix==""?"":$suffix==""?"":setpref(STRING,$dom.$var.".suffix", $suffix);
  1350. $prefix==""?"":$suffix==""?"":alert($prefix."  +  ".$suffix,$tip,INFO);
  1351. }
  1352.  
  1353. $dc=$macroPrefBranch."domComplete";
  1354.  
  1355. domComplete0{
  1356. $n="0"; &DCgo;
  1357. }
  1358. domComplete1{
  1359. $n="1"; &DCgo;
  1360. }
  1361. domComplete2{
  1362. $n="2"; &DCgo;
  1363. }
  1364.  
  1365. DCgetPref{
  1366. $prefix=getpref(STRING,$dc.$n.".prefix");
  1367. $suffix=getpref(STRING,$dc.$n.".suffix");
  1368. }
  1369.  
  1370. DCgo{
  1371. &DCgetPref; $theurl=$URLBAR;
  1372. $theurl==""?"":$theurl=$prefix.$theurl.$suffix;
  1373. $theurl==""?"":$URLBAR=$theurl;
  1374. $theurl==""?"":id(ID_NAV_GO);
  1375. }
  1376.  
  1377. domComplete0cfg{
  1378. $n="0"; $accel=_("Ctrl+Enter"); &DCset;
  1379. }
  1380. domComplete1cfg{
  1381. $n="1"; $accel=_("Ctrl+Alt+Enter"); &DCset;
  1382. }
  1383. domComplete2cfg{
  1384. $n="2"; $accel=_("Ctrl+Shift+Enter"); &DCset;
  1385. }
  1386.  
  1387. DCset{
  1388. $prompt_prefix = sub("%s", $accel, _("On %s add prefix:"));
  1389. $prompt_suffix = sub("%s", $accel, _("On %s add suffix:"));
  1390. $prompt_open = sub("%s", $accel, _("%s will open:"));
  1391.  
  1392. &DCgetPref; $tit=_("Domain Completion");
  1393. $prefix=prompt($prompt_prefix,$tit,$prefix);
  1394. $prefix==""?"":$suffix=prompt($prompt_suffix ,$tit,$suffix);
  1395. $prefix==""?"":$suffix==""?"":&DCsetPref;
  1396. }
  1397.  
  1398. DCsetPref{
  1399. setpref(STRING,$dc.$n.".prefix",$prefix);
  1400. setpref(STRING,$dc.$n.".suffix",$suffix);
  1401. alert($prompt_open."\n\n".$prefix._("<URLBarText>").$suffix,$tit,INFO);
  1402. }
  1403.  
  1404. $path=getpref(STRING,"kmeleon.general.profileDir");
  1405.  
  1406. # ----DOWNLOAD MACROS----
  1407.  
  1408. $sd="kmeleon.general.saveDir";
  1409. $sp="kmeleon.general.savePageDir";
  1410. $si="kmeleon.general.saveImageDir";
  1411. $sld="kmeleon.general.saveLinkDir";
  1412. $dir="kmeleon.general.profileDir";
  1413. $path=getpref(STRING, $dir);
  1414.  
  1415. GetDir{
  1416. $which=getpref(STRING,$el);
  1417. }
  1418. GetDef{
  1419. $el=$sd; $dl="Default"; &GetDir;
  1420. }
  1421. GetPage{
  1422. $el=$sp; $dl="Save Page As"; &GetDir;
  1423. }
  1424. GetImage{
  1425. $el=$si; $dl="Save Image As"; &GetDir;
  1426. }
  1427. GetLink{
  1428. $el=$sld; $dl="Save Link As"; &GetDir;
  1429. }
  1430.  
  1431. Save{
  1432. &GetDef; $oldsave=$which; macros($get); setpref(STRING,$sd,$which); 
  1433. id($id); setpref(STRING,$sd,$oldsave);
  1434. }
  1435.  
  1436. SavePage{
  1437. $get="GetPage"; $id="ID_FILE_SAVE_AS"; &Save; 
  1438. }
  1439.  
  1440. SaveFrame{
  1441. $get="GetPage"; $id="ID_FILE_SAVE_FRAME_AS"; &Save; 
  1442. }
  1443.  
  1444. SaveImage{
  1445. $get="GetImage"; $id="ID_SAVE_IMAGE_AS"; &Save; 
  1446. }
  1447.  
  1448. SaveLink{
  1449. $get="GetLink"; $id="ID_SAVE_LINK_AS"; &Save; 
  1450. }
  1451.  
  1452. SetDir{
  1453. $savetip="Enter Directory Path. (Include backslash at the end of folder name.)";
  1454. $which==""?$which=$path:"";
  1455. $which=prompt($savetip,$dl,$which);
  1456. $which==""?"":setpref(STRING,$el,$which);
  1457. $which==""?"":$savepath=$which; $which==""?"":&AlertSave;
  1458. }
  1459.  
  1460. DefaultDir{
  1461. &GetDef; &SetDir;
  1462. }
  1463.  
  1464. PageDir{
  1465. &GetPage; &SetDir;
  1466. }
  1467.  
  1468. ImageDir{
  1469. &GetImage; &SetDir;
  1470. }
  1471.  
  1472. LinkDir{
  1473. &GetLink; &SetDir;
  1474. }
  1475.  
  1476. AlertSave{
  1477. &GetDef; $def=$which; $dtip=$dl; &GetPage; $page=$which; $ptip=$dl;
  1478. &GetImage; $image=$which; $itip=$dl; &GetLink; $link=$which; $ltip=$dl;
  1479. alert($dtip."  =  ".$def.\n.$ptip."  =  ".$page.\n.$itip."  =  ".$image.\n.$ltip."  =  ".$link, "Download Directories",INFO); 
  1480. }
  1481.  
  1482. # ----MOUSE GESTURES----
  1483.  
  1484. $mouse="kmeleon.plugins.gestures.";
  1485.  
  1486. MGSync{
  1487. setcheck("macros(Gestures)",getpref(BOOL,$mouse."load"));
  1488. }
  1489.  
  1490. Gestures{
  1491. togglepref(BOOL,$mouse."load"); &Sync;
  1492. getpref(BOOL,$mouse."load")==true ? $tip="ENABLED":$tip="DISABLED"; 
  1493. alert("Mouse Gestures will be ".$tip." when K-Meleon is restarted.","Mouse Gestures ".$tip,INFO);
  1494. }
  1495.  
  1496. GestGuide{
  1497. $var=confirm("*M O U S E   G E S T U R E S   C O N F I G U R A T I O N   G U I D E*\n\nThis guide will present a prompt for each available mouse gesture. Each prompt will show the gesture in the title bar. Enter the command or macro that you'd like to use for each gesture. For your convenience, you can copy and paste the command or macro from the available commands list.\n\n\nDo you want to view a list of the available commands and macros to use for the gestures? (Recommended)","MOUSE GESTURES",YESNOCANCEL);
  1498. $var=="YES"? &Commands1st:0; $var=="NO"? &left:0; $var=="CANCEL"?"":0;
  1499. }
  1500. Commands1st{
  1501. &Commands; &left;
  1502. }
  1503.  
  1504. GestCFG{
  1505. $cmd=getpref(STRING,$mouse.$gest);
  1506. $cmd=prompt("Enter ID_COMMAND, PLUGIN COMMAND, or MACRO for this gesture.",$gest,$cmd);
  1507. $cmd==""?"":setpref(STRING,$mouse.$gest,$cmd); 
  1508. $cmd==""?"":confirm($gest."  =  ".$cmd."\n\nConfigure next gesture?","MOUSE GESTURE",YESNO)=="YES"? macros($next):0;
  1509. }
  1510.  
  1511. left{
  1512. $gest="left"; $next="right"; &GestCFG;
  1513. }
  1514. right{
  1515. $gest="right"; $next="down"; &GestCFG;
  1516. }
  1517. down{
  1518. $gest="down"; $next="downleft"; &GestCFG;
  1519. }
  1520. downleft{
  1521. $gest="downleft"; $next="downright"; &GestCFG;
  1522. }
  1523. downright{
  1524. $gest="downright"; $next="up"; &GestCFG;
  1525. }
  1526. up{
  1527. $gest="up"; $next="upleft"; &GestCFG;
  1528. }
  1529. upleft{
  1530. $gest="upleft"; $next="upright"; &GestCFG;
  1531. }
  1532. upright{
  1533. $gest="upright"; $next="left"; &GestCFG;
  1534. }
  1535.  
  1536. # ----CONFIG MACROS----
  1537.  
  1538. $skindir=getpref(STRING,"kmeleon.general.skinsDir");
  1539. $skin=getpref(STRING,"kmeleon.general.skinsCurrent");
  1540.  
  1541. $defaultAction="open";
  1542. $defaultEditor=getpref(STRING,$macroPrefBranch."configCommand");
  1543.  
  1544. getExtensionHandler{
  1545. $defaultEditor==""?$defaultEditor="notepad.exe %1":"";
  1546. $doctype=readreg("HKCR",".".$ext."\\");
  1547. $doctype==""?$cmdline=$defaultEditor:$cmdline=""; $shell="\\shell\\"; $command="\\command\\";
  1548. $cmdline==""?$defactn=readreg("HKCR",$doctype.$shell):"";
  1549. $cmdline==""?($defactn==""?$cmdline=readreg("HKCR",$doctype.$shell.$defaultAction.$command):$cmdline=readreg("HKCR",$doctype.$shell.$defactn.$command)):"";
  1550. # DDE is not supported here:
  1551. index($cmdline,"%1")?"":$cmdline=$defaultEditor;
  1552. $doctype=readreg("HKCR",$doctype."\\"); $doctype==""?$doctype=sub("%s",$ext,_("%s File")):"";
  1553. $defaultAction="open";
  1554. }
  1555.  
  1556. getSecureExtensionHandler{
  1557. # use for script files
  1558. $defaultAction="edit"; &getExtensionHandler;
  1559. }
  1560.  
  1561. Commands{
  1562. $ext="txt"; &getExtensionHandler; exec(sub("%1",$skindir."commands.txt",$cmdline));
  1563. }
  1564. Toolbars{
  1565. $ext="cfg"; &getExtensionHandler; exec(sub("%1",$skindir.$skin."toolbars.cfg",$cmdline));
  1566. }
  1567. Macros{
  1568. exec("notepad.exe ".$path."macros.cfg");
  1569. }
  1570. Menus{
  1571. exec("notepad.exe ".$path."menus.cfg");
  1572. }
  1573. Accel{
  1574. exec("notepad.exe ".$path."accel.cfg");
  1575. }
  1576. Prefs{
  1577. #exec("notepad.exe ".$path."prefs.js");
  1578. $ext="js"; &getSecureExtensionHandler; exec(sub("%1",$path."prefs.js",$cmdline));
  1579. }
  1580. User{
  1581. $ext="js"; &getSecureExtensionHandler; exec(sub("%1",$path."user.js",$cmdline));
  1582. }
  1583. UserContent{
  1584. $ext="css"; &getExtensionHandler; exec(sub("%1",$path."chrome\\userContent.css",$cmdline));
  1585. }
  1586.  
  1587. CSSFilters{
  1588. $ext="css"; &getExtensionHandler; exec(sub("%1",$path."\chrome\\adblock.css",$cmdline));
  1589. }
  1590. GestureCmds{
  1591. $ext="cfg"; &getExtensionHandler; exec(sub("%1",$path."gestures.cfg",$cmdline));
  1592. }
  1593.  
  1594. ProfD{
  1595. exec("explorer.exe \"".$path."\"");
  1596. }
  1597.  
  1598. JSConsole{
  1599. # Default Console:
  1600. #$xul="chrome://global/content/console.xul"; &XULDialog;
  1601. # Console2:
  1602. $xul="chrome://console2/content/console2.xul"; &XULDialog;
  1603. }
  1604.  
  1605. XULDialog{
  1606. opennew($xul);
  1607. }
  1608.  
  1609. XUL{
  1610. $layer==true ? pluginmsg(layers,OpenURL,$xul):opennew($xul);
  1611. }
  1612. AllPrefs{
  1613. $xul="about:config"; &XUL;
  1614. }
  1615. RSS{
  1616. $macro="rss"; &Frm1st;
  1617. }
  1618. rss{
  1619. $xul="chrome://aggreg8/content/aggreg8.xul"; &XUL;
  1620. }
  1621. Flashblock{
  1622. $xul="chrome://flashblock/content/options.xul"; &XUL;
  1623. }
  1624. Quicknote{
  1625. $xul = "chrome://quicknote/content/quicknote.xul"; &XUL;
  1626. }
  1627. Master{
  1628. $xul="chrome://pippki/content/pref-masterpass.xul"; &XULDialog;
  1629. }
  1630. Cert{
  1631. $xul="chrome://pippki/content/certManager.xul"; &XULDialog;
  1632. }
  1633.  
  1634. # ----MISC. MACROS----
  1635.  
  1636. SetHome{
  1637. setpref(STRING,"kmeleon.general.homePage",$URL);
  1638. setpref(INT,$sg,0); setpref(BOOL,$sh,true); &Sync;
  1639. alert(sub("%s",$TITLE,_("'%s'  is now your Home Page.")),_("Home Page Updated"),INFO);
  1640. }
  1641.  
  1642. KMWiki{
  1643. open("http://kmeleon.sourceforge.net/wiki/index.php?id=Welcome");
  1644. }
  1645.  
  1646. LinkInfo {
  1647. confirm($LinkURL."\n\n\nDo you want to go to this address now?","URL OF SELECTED LINK:",YESNO)=="YES"? open($LINKURL):"";
  1648. }
  1649.  
  1650. ListLinks{
  1651. $macro="ViewPageLinks";&PBDisable;
  1652. }
  1653.  
  1654. ListFrameLinks{
  1655. $macro="ViewFrameLinks";&PBDisable;
  1656. }
  1657.  
  1658. PBDisable{
  1659. getpref(BOOL,$popups)==true ? &PB:macros($macro);
  1660. }
  1661.  
  1662. PB{
  1663. &PBToggle; macros($macro); &PBToggle;
  1664. }
  1665.  
  1666. ViewLinks{
  1667. $JSfunc="var h='kmHOST',l='kmLINK',w=window.name,n=(w&&!document.getElementsByTagName('body')[0])?w.replace(h,''):Math.floor(Math.random()*1000),hostWinName=window.name=h+n,linkWinName=l+n,linkWin=open('',linkWinName,'left=0,top=0,width=600,height=300,status=yes');linkWin.document.write('<head><base target=\"'+hostWinName+'\"><link rel=\"stylesheet\" type=\"text/css\" href=\"'+encodeURI('".$macroResLoc."')+'macros.css\">');with(document)linkWin.document.write('<title>"._("Page Links:")." '+((title)?title:unescape(URL))+'</title></head><body class=\"kmViewLinks\">');";
  1668. $JSdoit="if(getElementsByTagName('body')[0]){var d=linkWin.document;d.write('<fieldset><legend>'+((title)?title:unescape(URL)).link(URL)+'</legend><ol>');if(links.length)for(var j=0;j<links.length;j++)d.write('<li>'+((links[j].text)?links[j].text.link(links[j]):unescape(links[j]).link(links[j]))+'</li>');else d.write('<p>"._("No links found.")."</p>');d.write('</ol></fieldset>')}";
  1669. $JSlast="linkWin.document.write('</body>');linkWin.document.close();linkWin.focus()";
  1670. }
  1671.  
  1672. ViewPageLinks{
  1673. &ViewLinks; &hndlDocs;
  1674. }
  1675.  
  1676. ViewFrameLinks{
  1677. &ViewLinks; &hndlDoc;
  1678. }
  1679.  
  1680. FrameInLayer{
  1681. pluginmsg(layers,OpenURL,$FRAMEURL);
  1682. }
  1683.  
  1684. FrameInBack{
  1685. $layer==true ? pluginmsg(layers,OpenURLBg,$FRAMEURL):OpenBg($FRAMEURL);
  1686. }
  1687.  
  1688. ReloadFrame{
  1689. $JSdoit="location.reload()"; &hndlDoc;
  1690. }
  1691.  
  1692. getIE{
  1693. $ie=readreg("HKCR","Applications\\iexplore.exe\\shell\\open\\command\\");
  1694. $ie==""?$ie="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %1":"";
  1695. }
  1696. URLInIE{
  1697. $theurl=$URLBAR;
  1698. $theurl==""? $theurl=$URL:"";
  1699. &getIE; exec(sub("%1",$theurl,$ie));
  1700. }
  1701. LinkInIE{
  1702. &getIE; exec(sub("%1",$LINKURL,$ie));
  1703. }
  1704.  
  1705. STP{
  1706. exec("c:\\Program Files\\K-Ninja2\\Tools\\STP\\STP.exe ");
  1707. }
  1708.  
  1709. Continuous{
  1710. getpref(BOOL,$jscript)==false ? (confirm(_("JavaScript is currently disabled. It must be enabled to use this feature.")."\n\n\n"._("Enable JavaScript and continue?"),_("JavaScript Disabled"),YESNO,EXCLAIM)=="YES" ? &JS1st:""):&Reload;
  1711. }
  1712. JS1st{
  1713. &JSToggle; &Reload;
  1714. }
  1715. Reload{
  1716. open("javascript:(function(){var intv=prompt('Enter number of seconds between reloads. (Click Back button to stop)');if(intv&&!isNaN(intv)){with(document){write('<html><frameset rows=\"*,22\" framespacing=0 border=0 frameborder=no><frame noresize frameborder=no><frame scrolling=no noresize frameborder=no></frameset></html>');frames[0].location.href=document.location.href;var docstr='<html><body bgcolor=cyan style=\"margin-top:0px\">\n';docstr+='Reloading in <span id=\"caption\"></span>secs.</body>\n';docstr+='<script>\nvar reloadIntv='+intv+';\nvar secsLeft='+intv+';\nfunction reloadFrame(){secsLeft=reloadIntv+1;parent.frames[0].location.href=parent.frames[0].location.href;}\nfunction countDown(){secsLeft--;showTime();}\nfunction showTime(){document.getElementById(\"caption\").innerHTML=parseInt(secsLeft)+\" \";}\nsetInterval(\"reloadFrame()\",'+intv*1000+');\nsetInterval(\"countDown()\",1000);\nshowTime();\n</script>\n</html>';frames[1].document.write(docstr);}}})()");
  1717. }
  1718.  
  1719.  
  1720. # Multi Search ------------------------------------------------------------------
  1721.  
  1722. $meta1="http://www.google.com/search?num=100&query=";
  1723. $Umlauts1=true;$Accents1=false;
  1724. $meta2="http://search.msn.com/results.aspx?srch_type=0&FORM=QBHP&geovar=150&q=";
  1725. $Umlauts2=true;$Accents2=false;
  1726. $meta3="http://www.alltheweb.com/search?q=";
  1727. $Umlauts3=true;$Accents3=false;
  1728. $meta4="http://images.google.com/images?btnG=Google+Search&safe=off&filter=0&q=";
  1729. $Umlauts4=true;$Accents4=false;
  1730. $meta5="http://web.ask.com/web?qsrc=0&o=0&q=";
  1731. $Umlauts5=true;$Accents5=false;
  1732. $meta6="http://www.gigablast.com/search?quote1="e2=&q=-=&url=&link=&sc=1&ns=5&n=100&sites=&plus=";
  1733. $Umlauts6=true;$Accents6=false;
  1734.  
  1735. search_multi{
  1736. menu = "MultiSearch";
  1737. $word = prompt("Enter search query:", "MultiSearch - Mutiple Search Engines");
  1738. $string=$word;
  1739.  
  1740. $Umlauts2 ? &Umlauts:0;
  1741. $Accents2 ? &Accents:0;
  1742. $word == "" ? 0 : id(ID_NEW_BROWSER);
  1743. $word == "" ? 0 : open( $meta2 . $word);
  1744.  
  1745. $worl=$string;
  1746. $Umlauts3 ? &Umlauts:0;
  1747. $Accents3 ? &Accents:0;
  1748. $meta=$meta3
  1749. $word == "" ? 0 : &ViewMeta;
  1750.  
  1751. $worl=$string;
  1752. $Umlauts4 ? &Umlauts:0;
  1753. $Accents4 ? &Accents:0;
  1754. $meta=$meta4
  1755. $word == "" ? 0 : &ViewMeta;
  1756.  
  1757. $worl=$string;
  1758. $Umlauts5 ? &Umlauts:0;
  1759. $Accents5 ? &Accents:0;
  1760. $meta=$meta5
  1761. $word == "" ? 0 : &ViewMeta;
  1762.  
  1763. $worl=$string;
  1764. $Umlauts6 ? &Umlauts:0;
  1765. $Accents6 ? &Accents:0;
  1766. $meta=$meta6
  1767. $word == "" ? 0 : &ViewMeta;
  1768.  
  1769. $worl=$string;
  1770. $Umlauts1 ? &Umlauts:0;
  1771. $Accents1 ? &Accents:0;
  1772. $meta=$meta1
  1773. $word == "" ? 0 : &ViewMeta;
  1774. }
  1775. OpenMeta{
  1776. $word == "" ? 0 : id(ID_NEW_BROWSER);
  1777. $word == "" ? 0 : open( $meta2 . $word);
  1778. }
  1779.  
  1780. ViewMeta{
  1781. getpref(STRING,$mode) == "WINDOWS ONLY" ? opennew($meta . $word):pluginmsg(layers,"OpenURL",$meta . $word);
  1782. }
  1783.  
  1784. # TRANSLATION MACROS
  1785.  
  1786. $prefix = "";
  1787.  
  1788. translate{
  1789. $LINKURL = ""; $LINKURL == "" ? $theurl = $URL : $theurl = $LINKURL;
  1790. $prefix == "" ? open($lang . $theurl) : open($prefix . $theurl . $suffix);
  1791. }
  1792. german{
  1793. menu=From German
  1794. $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=de%7Cen&u=";
  1795. &translate;
  1796. }
  1797. spanish{
  1798. menu=From Spanish
  1799. $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=es%7Cen&u=";
  1800. &translate;
  1801. }
  1802. french{
  1803. menu=From French
  1804. $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=fr%7Cen&u=";
  1805. &translate;
  1806. }
  1807. italian{
  1808. menu=From Italian
  1809. $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=it%7Cen&u=";
  1810. &translate;
  1811. }
  1812. portuguese{
  1813. menu=From Portuguese
  1814. $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=pt%7Cen&u=";
  1815. &translate;
  1816. }
  1817. russia{
  1818. menu=From Russian
  1819. $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F";
  1820. $suffix="%2F&lp=ru_en";
  1821. &translate; $prefix = "";
  1822. }
  1823. china{
  1824. menu=From Chinese
  1825. $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F";
  1826. $suffix="%2F&lp=zh_en";
  1827. &translate; $prefix = "";
  1828. }
  1829. japan{
  1830. menu=From Japanese
  1831. $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F";
  1832. $suffix="%2F&lp=ja_en";
  1833. &translate; $prefix = "";
  1834. }
  1835. korea{
  1836. menu=From Korean
  1837. $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F";
  1838. $suffix="%2F&lp=ko_en";
  1839. &translate; $prefix = "";
  1840. }
  1841. netherlands{
  1842. menu=From Dutch
  1843. $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=dut&to=eng&type=url&url=";
  1844. &translate;
  1845. }
  1846. finland{
  1847. menu=From Finnish
  1848. $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=fin&to=eng&type=url&url=";
  1849. &translate;
  1850. }
  1851. greece{
  1852. menu=From Greek
  1853. $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=grk&to=eng&type=url&url=";
  1854. &translate;
  1855. }
  1856.  
  1857. #--- Shortcut Key macros ----------#
  1858. SETCTRL1{
  1859. $ctrl1=prompt("Enter Address for CTRL + 1", "CTRL + 1");
  1860. setpref(STRING, "Web.address.CTRL1", $ctrl1);
  1861. }
  1862. SETCTRL2{
  1863. $ctrl2=prompt("Enter Address for CTRL + 2", "CTRL + 2");
  1864. setpref(STRING, "Web.address.CTRL2", $ctrl2);
  1865. }
  1866. SETCTRL3{
  1867. $ctrl3=prompt("Enter Address for CTRL + 3", "CTRL + 3");
  1868. setpref(STRING, "Web.address.CTRL3", $ctrl3);
  1869. }
  1870. SETCTRL4{
  1871. $ctrl4=prompt("Enter Address for CTRL + 4", "CTRL + 4");
  1872. setpref(STRING, "Web.address.CTRL4", $ctrl4);
  1873. }
  1874. SETCTRL5{
  1875. $ctrl5=prompt("Enter Address for CTRL + 5", "CTRL + 5");
  1876. setpref(STRING, "Web.address.CTRL5", $ctrl5);
  1877. }
  1878. SETCTRL6{
  1879. $ctrl6=prompt("Enter Address for CTRL + 6", "CTRL + 6");
  1880. setpref(STRING, "Web.address.CTRL6", $ctrl6);
  1881. }
  1882. SETCTRL7{
  1883. $ctrl7=prompt("Enter Address for CTRL + 7", "CTRL + 7");
  1884. setpref(STRING, "Web.address.CTRL7", $ctrl7);
  1885. }
  1886. SETCTRL8{
  1887. $ctrl8=prompt("Enter Address for CTRL + 8", "CTRL + 8");
  1888. setpref(STRING, "Web.address.CTRL8", $ctrl8);
  1889. }
  1890. SETCTRL9{
  1891. $ctrl9=prompt("Enter Address for CTRL + 9", "CTRL + 9");
  1892. setpref(STRING, "Web.address.CTRL9", $ctrl9);
  1893. }
  1894. CTRL1{
  1895. $ctrl1=getpref(STRING,"Web.address.CTRL1");
  1896. open($ctrl1);
  1897. }
  1898. CTRL2{
  1899. $ctrl2=getpref(STRING,"Web.address.CTRL2");
  1900. open($ctrl2);
  1901. }
  1902. CTRL3{
  1903. $ctrl3=getpref(STRING,"Web.address.CTRL3");
  1904. open($ctrl3);
  1905. }
  1906. CTRL4{
  1907. $ctrl4=getpref(STRING,"Web.address.CTRL4");
  1908. open($ctrl4);
  1909. }
  1910. CTRL5{
  1911. $ctrl5=getpref(STRING,"Web.address.CTRL5");
  1912. open($ctrl5);
  1913. }
  1914. CTRL6{
  1915. $ctrl6=getpref(STRING,"Web.address.CTRL6");
  1916. open($ctrl6);
  1917. }
  1918. CTRL7{
  1919. $ctrl7=getpref(STRING,"Web.address.CTRL7");
  1920. open($ctrl7);
  1921. }
  1922. CTRL8{
  1923. $ctrl8=getpref(STRING,"Web.address.CTRL8");
  1924. open($ctrl8);
  1925. }
  1926. CTRL9{
  1927. $ctrl9=getpref(STRING,"Web.address.CTRL9");
  1928. open($ctrl9);
  1929. }
  1930.  
  1931. Hyperlink_in_Layer {
  1932.                      $tmp = getclipboard();
  1933.                      id(ID_EDIT_COPY);
  1934.                      pluginmsg(layers, "OpenURL", getclipboard());
  1935.                      setclipboard($tmp);
  1936.                    }
  1937.  
  1938. # K-Ninja Menu Macros
  1939.  
  1940. kninjafaq{
  1941. pluginmsg(layers, "OpenURL", "http://www.geocities.com/grenleef/faq.html");
  1942. }
  1943.  
  1944. knhome{
  1945. pluginmsg(layers, "OpenURL", "http://geocities.com/grenleef");
  1946. }
  1947.  
  1948. knforums{
  1949. pluginmsg(layers, "OpenURL", "http://pub35.bravenet.com/forum/2994087922");
  1950. }
  1951.  
  1952. mzhome{
  1953. pluginmsg(layers, "OpenURL", "http://www.mozillazine.org/");
  1954. }
  1955.  
  1956. MZWiki{
  1957. pluginmsg(layers, "OpenURL", "http://wiki.mozilla.org/Main_Page");
  1958. }
  1959.  
  1960. mzforums{
  1961. pluginmsg(layers, "OpenURL", "http://forums.mozillazine.org/viewforum.php?f=34&sid=7c688285a71430afedf4c6d666d93f32");
  1962. }
  1963.  
  1964. MZ{
  1965. pluginmsg(layers, "OpenURL", "http://forums.mozillazine.org/search.php");
  1966. }
  1967.  
  1968. # ---kko--- Custom Proxies !
  1969.  
  1970. $proxy="network.proxy.";
  1971. $cprxy=$macroPrefBranch."proxy";
  1972.  
  1973. proxy1cfg{
  1974. $n="1"; &CPset;
  1975. }
  1976. proxy2cfg{
  1977. $n="2"; &CPset;
  1978. }
  1979. proxy3cfg{
  1980. $n="3"; &CPset;
  1981. }
  1982.  
  1983. ProxySync{
  1984. setcheck("macros(proxy1)",(getpref(STRING,$cprxy."1.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false);
  1985. setcheck("macros(proxy2)",(getpref(STRING,$cprxy."2.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false);
  1986. setcheck("macros(proxy3)",(getpref(STRING,$cprxy."3.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false);
  1987. setcheck("macros(NoProxy)",getpref(INT,$proxy."type")?false:true);
  1988. }
  1989.  
  1990. CPset{
  1991. $tit=sub("%s",$n,_("Custom HTTP Proxy %s - Server Setup"));
  1992. $srvr=getpref(STRING,$cprxy.$n.".http");
  1993. $port=getpref(INT,$cprxy.$n.".http_port");
  1994. $srvr=prompt(_("Server URL:"),$tit,$srvr);
  1995. $srvr==""?"":setpref(STRING,$cprxy.$n.".http",$srvr);
  1996. $srvr==""?"":$port=prompt(_("Server Port:"),$tit,$port);
  1997. $port==""?"":setpref(INT,$cprxy.$n.".http_port",$port);
  1998. statusbar(_("Custom HTTP Proxy")." ".$n." ".getpref(STRING,$cprxy.$n.".http").":".getpref(INT,$cprxy.$n.".http_port"));
  1999. }
  2000.  
  2001. proxy1{
  2002. $n="1"; &CPuse;
  2003. }
  2004. proxy2{
  2005. $n="2"; &CPuse;
  2006. }
  2007. proxy3{
  2008. $n="3"; &CPuse;
  2009. }
  2010.  
  2011. CPuse{
  2012. $srvr=getpref(STRING,$cprxy.$n.".http");
  2013. $port=getpref(INT,$cprxy.$n.".http_port");
  2014. # When no server url is set, do not change anything!
  2015. $srvr==""?"":setpref(STRING,$proxy."http",$srvr);
  2016. $srvr==""?"":setpref(INT,$proxy."http_port",$port);
  2017. $srvr==""?"":setpref(INT,$proxy."type",1);
  2018. getpref(INT,$proxy."type")==1?statusbar(_("Connecting over proxy")." ".getpref(STRING,$proxy."http").":".getpref(INT,$proxy."http_port")):&NoProxy;
  2019. &Sync;
  2020. }
  2021.  
  2022. NoProxy {
  2023. setpref(INT,$proxy."type",0);
  2024. statusbar(_("Direct Connection"));
  2025. &Sync;
  2026. }
  2027.  
  2028. # ---kko--- Hotlinks
  2029. #
  2030. $hl=$macroPrefBranch."hotlink";
  2031.  
  2032. hotlink0{
  2033. $n="0"; &HLgo;
  2034. }
  2035. hotlink1{
  2036. $n="1"; &HLgo;
  2037. }
  2038. hotlink2{
  2039. $n="2"; &HLgo;
  2040. }
  2041. hotlink3{
  2042. $n="3"; &HLgo;
  2043. }
  2044. hotlink4{
  2045. $n="4"; &HLgo;
  2046. }
  2047. hotlink5{
  2048. $n="5"; &HLgo;
  2049. }
  2050. hotlink6{
  2051. $n="6"; &HLgo;
  2052. }
  2053. hotlink7{
  2054. $n="7"; &HLgo;
  2055. }
  2056. hotlink8{
  2057. $n="8"; &HLgo;
  2058. }
  2059. hotlink9{
  2060. $n="9"; &HLgo;
  2061. }
  2062.  
  2063. HLgo{
  2064. &HLgetPref; $newwin==true?$xul=$theurl:$xul="";
  2065. $xul==""?($theurl==""?"":open($theurl)):($theurl==""?"":&XUL);
  2066. }
  2067.  
  2068. hotlink0cfg{
  2069. $n="0"; &HLsetURL;
  2070. }
  2071. hotlink1cfg{
  2072. $n="1"; &HLsetURL;
  2073. }
  2074. hotlink2cfg{
  2075. $n="2"; &HLsetURL;
  2076. }
  2077. hotlink3cfg{
  2078. $n="3"; &HLsetURL;
  2079. }
  2080. hotlink4cfg{
  2081. $n="4"; &HLsetURL;
  2082. }
  2083. hotlink5cfg{
  2084. $n="5"; &HLsetURL;
  2085. }
  2086. hotlink6cfg{
  2087. $n="6"; &HLsetURL;
  2088. }
  2089. hotlink7cfg{
  2090. $n="7"; &HLsetURL;
  2091. }
  2092. hotlink8cfg{
  2093. $n="8"; &HLsetURL;
  2094. }
  2095. hotlink9cfg{
  2096. $n="9"; &HLsetURL;
  2097. }
  2098.  
  2099. HLgetPref{
  2100. $theurl=getpref(STRING,$hl.$n.".url");
  2101. $newwin=getpref(BOOL,$hl.$n.".new");
  2102. }
  2103. HLsetURL{
  2104.  
  2105. &HLgetPref; $tit=_("Hotlinks"); $tip=gsub("%s", $n, _("On Ctrl+%s open:'));
  2106. # suggest current URL, if not set:
  2107. $theurl=prompt($tip,$tit,$theurl==""?$URL:$theurl);
  2108. $theurl==""?"":setpref(STRING,$hl.$n.".url",$theurl);
  2109. $theurl==""?"":&HLsetNEW;
  2110. }
  2111. HLsetNEW{
  2112. $newwin=confirm(_("Do you want to open this hotlink in a new window/layer?"),$tit,YESNO,QUESTION);
  2113. $newwin=="YES"?setpref(BOOL,$hl.$n.".new",true):setpref(BOOL,$hl.$n.".new",false);
  2114. }
  2115.  
  2116. # ----- XUL Pref Panel Macros ---------------------------------------------------------------
  2117.  
  2118. $frames="browser.frames.enabled";
  2119.  
  2120. Frm1st{
  2121. getpref(BOOL,$frames)==false?(confirm(_("Frames are currently disabled. They must be enabled to use this feature.")."\n\n"._("Enable Frames and continue?"),_("Frames Disabled"),YESNO,EXCLAIM)=="YES"?&Frm2nd:""):macros($macro);
  2122. }
  2123. Frm2nd{
  2124. &FrmToggle; macros($macro);
  2125. }
  2126. FrmToggle{
  2127. togglepref(BOOL,$frames); &Sync;
  2128. getpref(BOOL,$frames)==false?$tip=_("BLOCKED"):$tip=_("ALLOWED");
  2129. statusbar(_("Frames")." ".$tip);
  2130. }
  2131.  
  2132. $prefURL="chrome://kmprefs/content/pref.xul";
  2133.  
  2134. PrefOpen{
  2135. $macro="XULDialog"; &Frm1st;
  2136. }
  2137. PrefPanel{
  2138. $xul=$prefURL; &PrefOpen;
  2139. }
  2140. Bookmarks{
  2141. $xul=$prefURL."?bookmarks"; &PrefOpen;
  2142. }
  2143. Favorites{
  2144. $xul=$prefURL."?favorites"; &PrefOpen;
  2145. }
  2146. Hotlist{
  2147. $xul=$prefURL."?hotlist"; &PrefOpen;
  2148. }
  2149. Browsing{
  2150. $xul=$prefURL."?browsing"; &PrefOpen;
  2151. }
  2152. Filters{
  2153. $xul=$prefURL."?filters"; &PrefOpen;
  2154. }
  2155. Hotlinks{
  2156. $xul=$prefURL."?hotlinks"; &PrefOpen;
  2157. }
  2158. MGestures{
  2159. $xul=$prefURL."?gestures"; &PrefOpen;
  2160. }
  2161. Layers{
  2162. $xul=$prefURL."?layers"; &PrefOpen;
  2163. }
  2164. JavaScript{
  2165. $xul=$prefURL."?javascript"; &PrefOpen;
  2166. }
  2167. ToolBars{
  2168. $xul=$prefURL."?toolbars"; &PrefOpen;
  2169. }
  2170.  
  2171. getFavorites{
  2172. $fav="kmeleon.plugins.favorites.directory";
  2173. $tmp=readreg("HKCU","Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Favorites")."\\";
  2174. getpref(STRING,$fav)==""?setpref(STRING,$fav,$tmp):"";
  2175. }
  2176.  
  2177.  
  2178. # ----- 
  2179.  
  2180. UserCSS{
  2181. $ext="css"; &getExtensionHandler;
  2182. injectCSS(readfile(promptforfile("", $doctype, "*.css")))
  2183. }
  2184.  
  2185. UserScript{
  2186. $ext="js"; &getExtensionHandler;
  2187. injectJS(readfile(promptforfile("", $doctype, "*.js")))
  2188. }
  2189.